:root {
    --pc-meeting-section-size: 1rem;
    --pc-meeting-section-weight: 700;
    --pc-meeting-section-line-height: 1.3;
    /* Fixed overview-description palette: standard button green and medium green.
       Deliberately independent of projectTermsRenderCssVariables / --pc-level-*. */
    --pc-description-standard-dark: #56705D;
    --pc-description-standard-medium: #CED5BF;
    --pc-description-standard-text: #FFFFFF;
    --pc-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --pc-page-body-width: 80vw;
    --pc-project-header-body-offset: 96px;
    /* PO-Versionsdialog: über Navigation (bis 5600) und Ticket-Overlays (bis 27000).
       Der Projektplan verwendet dieselbe Ebene für den iframe-Hintergrund. */
    --pc-layer-po-version-modal: 28000;
    --pc-level-phase-bg: #FFFFFF;
    --pc-level-phase-text: #111111;
    --pc-level-phase-rgb: 255, 255, 255;
    --pc-level-phase-hover-bg: #D1D5DB;
    --pc-level-phase-border: #D1D5DB;
    --pc-level-phase-border-strong: #9CA3AF;
    --pc-level-task-bg: #E9EEE1;
    --pc-level-task-text: #111111;
    --pc-level-task-rgb: 233, 238, 225;
    --pc-level-task-hover-bg: #BFC3B8;
    --pc-level-task-border: rgba(233, 238, 225, 0.82);
    --pc-level-task-border-strong: rgba(233, 238, 225, 1);
    --pc-level-subtask-bg: #CED5BF;
    --pc-level-subtask-text: #111111;
    --pc-level-subtask-rgb: 206, 213, 191;
    --pc-level-subtask-hover-bg: #A9AFA0;
    --pc-level-subtask-border: rgba(206, 213, 191, 0.82);
    --pc-level-subtask-border-strong: rgba(206, 213, 191, 1);
    --pc-level-work-bg: #56705D;
    --pc-level-work-text: #FFFFFF;
    --pc-level-work-rgb: 86, 112, 93;
    --pc-level-work-hover-bg: #789081;
    --pc-level-work-border: rgba(86, 112, 93, 0.82);
    --pc-level-work-border-strong: rgba(86, 112, 93, 1);
    --pc-level-1-bg: var(--pc-level-phase-bg);
    --pc-level-1-text: var(--pc-level-phase-text);
    --pc-level-1-rgb: var(--pc-level-phase-rgb);
    --pc-level-1-hover-bg: var(--pc-level-phase-hover-bg);
    --pc-level-1-border: var(--pc-level-phase-border);
    --pc-level-1-border-strong: var(--pc-level-phase-border-strong);
    --pc-level-2-bg: var(--pc-level-task-bg);
    --pc-level-2-text: var(--pc-level-task-text);
    --pc-level-2-rgb: var(--pc-level-task-rgb);
    --pc-level-2-hover-bg: var(--pc-level-task-hover-bg);
    --pc-level-2-border: var(--pc-level-task-border);
    --pc-level-2-border-strong: var(--pc-level-task-border-strong);
    --pc-level-3-bg: var(--pc-level-subtask-bg);
    --pc-level-3-text: var(--pc-level-subtask-text);
    --pc-level-3-rgb: var(--pc-level-subtask-rgb);
    --pc-level-3-hover-bg: var(--pc-level-subtask-hover-bg);
    --pc-level-3-border: var(--pc-level-subtask-border);
    --pc-level-3-border-strong: var(--pc-level-subtask-border-strong);
    --pc-level-4-bg: var(--pc-level-work-bg);
    --pc-level-4-text: var(--pc-level-work-text);
    --pc-level-4-rgb: var(--pc-level-work-rgb);
    --pc-level-4-hover-bg: var(--pc-level-work-hover-bg);
    --pc-level-4-border: var(--pc-level-work-border);
    --pc-level-4-border-strong: var(--pc-level-work-border-strong);
}

body,
button,
input,
select,
textarea {
    font-family: var(--pc-font-sans);
}

input[data-project-workday-date-bound="1"] {
    cursor: pointer;
}

/* Shared hierarchy controls: keep the existing button geometry and states. */
.pc-outline-level-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.6em;
    height: 1.6em;
    line-height: 1;
    pointer-events: none;
}

.pc-outline-level-icon[hidden] {
    display: none;
}

.pc-outline-level-icon > .bi-layers {
    font-size: 1em;
    line-height: 1;
}

.pc-outline-level-icon > .pc-outline-level-icon-mark {
    position: absolute;
    top: 0;
    right: 0;
    font-size: .65em;
    line-height: 1;
}

input[data-project-workday-date-bound="1"]::-webkit-calendar-picker-indicator {
    display: none;
    opacity: 0;
    pointer-events: none;
    -webkit-appearance: none;
}

input[data-project-workday-date-bound="1"]::-webkit-inner-spin-button,
input[data-project-workday-date-bound="1"]::-webkit-clear-button {
    display: none;
    -webkit-appearance: none;
}

.project-plan-header-meta.project-plan-header-meta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    max-width: 100%;
    min-width: 0;
    padding: 10px 0 !important;
    font-size: 0.72rem !important;
    line-height: 1.2 !important;
    color: #6b7280 !important;
    letter-spacing: 0.01em !important;
}

.project-plan-header-meta .project-plan-header-title {
    display: inline-block !important;
    flex: 0 0 auto;
    margin: 0 !important;
    color: #111827 !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.project-plan-header-meta .project-plan-header-subtitle {
    display: inline-block !important;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #6b7280 !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.project-plan-header-meta .project-plan-header-meta-divider {
    flex: 0 0 auto;
    color: #9ca3af !important;
}

.procontrol-workday-calendar {
    position: fixed;
    z-index: 1000000;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid #cbd5e1;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.22);
    color: #111827;
}

.procontrol-workday-calendar[hidden] {
    display: none !important;
}

.procontrol-workday-calendar-head {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.procontrol-workday-calendar-title {
    text-align: center;
    font-size: 0.94rem;
    font-weight: 800;
    color: #1f2937;
}

.procontrol-workday-calendar-nav {
    width: 36px;
    height: 36px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    color: #56705D;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.procontrol-workday-calendar-nav:hover {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.procontrol-workday-calendar-quickranges {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 10px;
}

.procontrol-workday-calendar-quickranges button {
    min-height: 30px;
    border: 1px solid #CED5BF;
    border-radius: 10px;
    background: #f7faf4;
    color: #56705D;
    font-size: 0.72rem;
    font-weight: 800;
    cursor: pointer;
}

.procontrol-workday-calendar-quickranges button:hover {
    background: #E9EEE1;
}

.procontrol-workday-calendar-weekdays,
.procontrol-workday-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
}

.procontrol-workday-calendar-weekdays {
    margin-bottom: 6px;
}

.procontrol-workday-calendar-weekdays div {
    text-align: center;
    font-size: 0.72rem;
    font-weight: 800;
    color: #64748b;
}

.procontrol-workday-calendar-empty {
    min-height: 36px;
}

.procontrol-workday-calendar-day {
    min-width: 0;
    height: 36px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    font-size: 0.84rem;
    font-weight: 750;
    cursor: pointer;
}

.procontrol-workday-calendar-day:hover {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.procontrol-workday-calendar-day.is-today {
    border-color: #56705D;
}

.procontrol-workday-calendar-day.is-in-range {
    border-color: #9fb49d;
    background: #E9EEE1;
    color: #111827;
}

.procontrol-workday-calendar-day.is-range-start,
.procontrol-workday-calendar-day.is-range-end {
    border-color: #56705D;
    background: #56705D;
    color: #ffffff;
}

.procontrol-workday-calendar-day.is-selected {
    border-color: #56705D;
    background: #56705D;
    color: #ffffff;
}

.procontrol-workday-calendar-day.is-soft-limit {
    border-color: #dc2626;
    background: #fff1f2;
    color: #b91c1c;
}

.procontrol-workday-calendar-day.is-soft-limit:hover,
.procontrol-workday-calendar-day.is-soft-limit:focus-visible {
    border-color: #b91c1c;
    background: #fee2e2;
    color: #991b1b;
}

.procontrol-workday-calendar-day.is-disabled,
.procontrol-workday-calendar-day:disabled {
    border-color: #e5e7eb;
    background: #f1f5f9;
    color: #94a3b8;
    cursor: not-allowed;
    opacity: 0.72;
    text-decoration: line-through;
}

.procontrol-workday-calendar-day.is-disabled:hover,
.procontrol-workday-calendar-day:disabled:hover {
    border-color: #e5e7eb;
    background: #f1f5f9;
    color: #94a3b8;
}

.procontrol-workday-calendar-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
}

.procontrol-workday-calendar-footer button {
    min-height: 32px;
    padding: 5px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    color: #475569;
    font-size: 0.76rem;
    font-weight: 750;
    cursor: pointer;
}

.procontrol-workday-calendar-footer button:hover,
.procontrol-workday-calendar-footer button:focus-visible {
    border-color: #56705D;
    background: #E9EEE1;
    color: #33473a;
}

/* Typography */
.page-create-accessrules h1,
.page-add-phases h1,
.page-add-projectuser h1,
.page-edit-groups h1,
.page-create-roles h1,
.page-add-tasks h1 {
    margin: 0 0 8px;
    font-size: 1.65rem;
}

.page-create-project h1 {
    margin: 0 0 18px;
    font-size: 1.65rem;
}

.page-access-denied h1 {
    margin: 0 0 8px;
    font-size: 1.5rem;
}

.page-login h1 {
    margin: 0 0 16px 0;
    font-size: 1.4rem;
}

.page-create-account h1 {
    margin: 0 0 16px;
    font-size: 1.4rem;
}

.page-index h1 {
    margin: 0 0 20px;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 700;
    text-align: center;
}

.page-create-roles h2 {
    margin: 0 0 6px;
    font-size: 1.12rem;
}

.page-add-projectuser .participants-title {
    margin: 0;
    font-size: 1.05rem;
}

.page-add-projectuser .modal-head h2,
.page-add-tasks .modal-head h2 {
    margin: 0;
    font-size: 1.15rem;
}

.page-add-projectuser .pending-title {
    margin: 0 0 10px;
    font-size: 1rem;
    color: #1e293b;
}

.page-create-account .success-modal h2 {
    margin: 0 0 12px;
    font-size: 1.25rem;
}

/* Buttons: group with shared structure */
.page-create-project .btn,
.page-add-phases .btn,
.page-add-projectuser .btn,
.page-edit-groups .btn {
    border: 1px solid #c8d1dc;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.93rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    color: #1b1f24;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.page-create-roles .btn,
.page-create-accessrules .btn {
    border: 1px solid #c8d1dc;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.93rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #ffffff;
    color: #1b1f24;
    transition: background-color 0.15s ease, border-color 0.15s ease;
    text-decoration: none;
    white-space: nowrap;
}

.page-add-tasks .btn,
.page-task-overview .btn {
    border: 1px solid #c8d1dc;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #ffffff;
    color: #1b1f24;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.page-create-project .btn:hover,
.page-add-phases .btn:hover,
.page-add-projectuser .btn:hover,
.page-edit-groups .btn:hover,
.page-create-roles .btn:hover,
.page-create-accessrules .btn:hover,
.page-add-tasks .btn:hover,
.page-task-overview .btn:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-create-project .btn-primary,
.page-add-phases .btn-primary,
.page-add-projectuser .btn-primary,
.page-edit-groups .btn-primary,
.page-create-roles .btn-primary,
.page-add-tasks .btn-primary,
.page-task-overview .btn-primary {
    background: var(--brand);
    border-color: var(--brand);
    color: #ffffff;
}

.page-create-project .btn-primary:hover,
.page-add-phases .btn-primary:hover,
.page-add-projectuser .btn-primary:hover,
.page-edit-groups .btn-primary:hover,
.page-create-roles .btn-primary:hover,
.page-add-tasks .btn-primary:hover,
.page-task-overview .btn-primary:hover {
    background: var(--brand-hover);
    border-color: var(--brand-hover);
}

.performance-report .btn.btn-danger-soft,
.page-task-overview .btn-danger-soft {
    border-color: #fecaca;
    color: #b91c1c;
    background: #fff1f2;
}

.performance-report .btn.btn-danger-soft:hover,
.page-task-overview .btn-danger-soft:hover {
    border-color: #fca5a5;
    background: #ffe4e9;
}

.performance-report .btn.btn-danger-solid,
.page-task-overview .btn-danger-solid {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #ffffff;
}

.performance-report .btn.btn-danger-solid:hover,
.page-task-overview .btn-danger-solid:hover {
    background: #991b1b;
    border-color: #991b1b;
}

.page-create-accessrules .btn-primary,
.page-access-denied .btn-primary {
    background: #56705D;
    border-color: #56705D;
    color: #ffffff;
}

.page-create-accessrules .btn-primary:hover,
.page-access-denied .btn-primary:hover {
    background: #56705D;
    border-color: #56705D;
}

.page-create-roles .btn:disabled,
.page-create-accessrules .btn:disabled,
.page-add-tasks .btn:disabled,
.page-task-overview .btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.page-create-roles .btn-danger {
    border-color: #fecaca;
    color: #b91c1c;
}

.page-create-roles .btn-danger:hover {
    border-color: #fca5a5;
    background: #fff1f2;
}

.page-add-phases .btn-danger {
    border-color: #f1b6c4;
    color: var(--danger);
    background: #fff6f8;
}

.page-add-phases .btn-danger:hover {
    background: #ffe4eb;
    border-color: #eb90ab;
}

.page-add-projectuser .btn-icon-only {
    width: 40px;
    height: 40px;
    padding: 0;
    justify-content: center;
}

.page-add-projectuser .btn-small,
.page-add-tasks .btn-small {
    padding: 7px 10px;
    font-size: 0.82rem;
}

/* Shared bottom action overlay (fixed footer action) */
.page-create-project .bottom-action-overlay,
.page-create-roles .bottom-action-overlay,
.page-create-accessrules .bottom-action-overlay,
.page-add-projectuser .bottom-action-overlay,
.page-edit-groups .bottom-action-overlay,
.page-add-phases .bottom-action-overlay,
.page-add-tasks .bottom-action-overlay,
.page-task-overview .bottom-action-overlay {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1300;
    background: #ffffff;
    border-top: 2px solid #e5e7eb;
    padding: 12px 16px;
    display: flex;
    justify-content: center;
}

.page-create-project .bottom-action-overlay .bottom-action-btn,
.page-create-roles .bottom-action-overlay .bottom-action-btn,
.page-create-accessrules .bottom-action-overlay .bottom-action-btn,
.page-add-projectuser .bottom-action-overlay .bottom-action-btn,
.page-edit-groups .bottom-action-overlay .bottom-action-btn,
.page-add-phases .bottom-action-overlay .bottom-action-btn,
.page-add-tasks .bottom-action-overlay .bottom-action-btn,
.page-task-overview .bottom-action-overlay .bottom-action-btn {
    width: 100%;
    max-width: none;
    justify-content: center;
}

.page-create-project,
.page-create-roles,
.page-create-accessrules,
.page-add-projectuser,
.page-edit-groups,
.page-add-phases,
.page-add-tasks,
.page-task-overview {
    padding-bottom: 128px;
}

.page-create-project .page,
.page-create-roles .page,
.page-create-accessrules .page,
.page-add-projectuser .page,
.page-edit-groups .page,
.page-add-phases .page,
.page-add-tasks .page,
.page-task-overview .page,
.page-work-overview .page,
.page-subtask-overview .page {
    width: var(--pc-page-body-width);
    max-width: var(--pc-page-body-width);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
}

.page-create-project .toast,
.page-create-roles .toast,
.page-create-accessrules .toast,
.page-add-projectuser .toast,
.page-edit-groups .toast,
.page-add-phases .toast,
.page-add-tasks .toast,
.page-task-overview .toast,
.page-work-overview .toast {
    position: fixed;
    left: 50%;
    display: none;
    bottom: 92px;
    transform: translate(-50%, 180%);
    background: #9f1239;
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 12px 16px;
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.26);
    z-index: 5400;
    transition: transform 0.3s ease;
    max-width: min(94vw, 760px);
}

.page-create-project .toast.is-visible,
.page-create-roles .toast.is-visible,
.page-create-accessrules .toast.is-visible,
.page-add-projectuser .toast.is-visible,
.page-edit-groups .toast.is-visible,
.page-add-phases .toast.is-visible,
.page-add-tasks .toast.is-visible,
.page-task-overview .toast.is-visible,
.page-work-overview .toast.is-visible {
    display: block;
    transform: translate(-50%, 0);
}

.page-create-project .toast.ok,
.page-create-roles .toast.ok,
.page-create-accessrules .toast.ok,
.page-add-projectuser .toast.ok,
.page-edit-groups .toast.ok,
.page-add-phases .toast.ok,
.page-add-tasks .toast.ok,
.page-task-overview .toast.ok,
.page-work-overview .toast.ok {
    background: #166534;
}

.page-create-project .toast.error,
.page-create-roles .toast.error,
.page-create-accessrules .toast.error,
.page-add-projectuser .toast.error,
.page-edit-groups .toast.error,
.page-add-phases .toast.error,
.page-add-tasks .toast.error,
.page-task-overview .toast.error,
.page-work-overview .toast.error {
    background: #9f1239;
}

.page-add-projectuser .clear-input-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    border: 1px solid #c8d1dc;
    border-radius: 8px;
    background: #ffffff;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.14s ease, background-color 0.14s ease, border-color 0.14s ease;
}

.page-add-projectuser .clear-input-btn:hover {
    border-color: #94a3b8;
    background: #f8fafc;
}

.page-add-projectuser .input-with-clear.has-value:hover .clear-input-btn {
    opacity: 1;
    pointer-events: auto;
}

.page-add-tasks .btn-outline-primary {
    background: #ffffff;
    border-color: var(--brand);
    color: var(--brand);
}

.page-add-tasks .btn-outline-primary:hover {
    background: #E9EEE1;
    border-color: var(--brand);
    color: var(--brand);
}

.page-add-tasks .icon-btn-square {
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 9px;
}

.work-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.work-modal-head h2 {
    flex: 1 1 auto;
}

.add-ticket-modal-card {
    border-width: 3px !important;
    border-style: solid !important;
}

.add-ticket-modal-card--task {
    border-color: var(--pc-level-task-border-strong, rgba(233, 238, 225, 1)) !important;
}

.add-ticket-modal-card--subproject {
    border-color: var(--pc-level-subproject-border-strong, rgba(245, 248, 238, 1)) !important;
}

.add-ticket-modal-card--phase {
    border-color: var(--pc-level-phase-border-strong, #9CA3AF) !important;
}

.add-ticket-modal-card--subtask {
    border-color: var(--pc-level-subtask-border-strong, rgba(206, 213, 191, 1)) !important;
}

.add-ticket-modal-card--work {
    border-color: var(--pc-level-work-border-strong, rgba(86, 112, 93, 1)) !important;
}

.add-ticket-modal-title-icon {
    width: 34px;
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid currentColor;
    font-size: 1rem;
    line-height: 1;
}

.add-ticket-modal-title-icon i {
    color: currentColor;
    line-height: 1;
}

.add-ticket-modal-title-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.add-ticket-modal-title-head h1,
.add-ticket-modal-title-head h2 {
    flex: 1 1 auto;
}

.add-ticket-modal-title-icon--phase {
    background: var(--pc-level-phase-bg, #FFFFFF);
    border-color: var(--pc-level-phase-border, #D1D5DB);
    color: var(--pc-level-phase-text, #111111);
}

.add-ticket-modal-title-icon--subproject {
    background: var(--pc-level-subproject-bg, #F5F8EE);
    border-color: var(--pc-level-subproject-border, rgba(245, 248, 238, 0.82));
    color: var(--pc-level-subproject-text, #111111);
}

.add-ticket-modal-title-icon--task {
    background: var(--pc-level-task-bg, #E9EEE1);
    border-color: var(--pc-level-task-border, rgba(233, 238, 225, 0.82));
    color: var(--pc-level-task-text, #111111);
}

.add-ticket-modal-title-icon--subtask {
    background: var(--pc-level-subtask-bg, #CED5BF);
    border-color: var(--pc-level-subtask-border, rgba(206, 213, 191, 0.82));
    color: var(--pc-level-subtask-text, #111111);
}

.add-ticket-modal-title-icon--work {
    background: var(--pc-level-work-bg, #56705D);
    border-color: var(--pc-level-work-border, rgba(86, 112, 93, 0.82));
    color: var(--pc-level-work-text, #FFFFFF);
}

.work-library-open-btn {
    flex: 0 0 auto;
}

.work-modal-body {
    position: relative;
}

.work-library-overlay {
    position: absolute;
    inset: 0;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.16);
    z-index: 14;
}

.work-library-popover {
    position: absolute;
    top: 10px;
    right: 10px;
    width: min(520px, calc(100% - 20px));
    max-height: calc(100% - 20px);
    display: flex;
    flex-direction: column;
    border: 1px solid #c8d1dc;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22);
    z-index: 15;
    overflow: hidden;
}

.work-library-popover-head {
    padding: 10px 12px;
    border-bottom: 1px solid #CED5BF;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.work-library-popover-head h3 {
    margin: 0;
    font-size: 0.95rem;
    color: #1f2937;
}

.work-library-scope {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.work-library-scope-text {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.work-library-scope-switch {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 20px;
}

.work-library-scope-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.work-library-scope-slider {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #cbd5e1;
    transition: background-color 0.18s ease;
}

.work-library-scope-slider::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: 2px;
    top: 2px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.3);
    transition: transform 0.18s ease;
}

.work-library-scope-switch input:checked + .work-library-scope-slider {
    background: #56705D;
}

.work-library-scope-switch input:checked + .work-library-scope-slider::before {
    transform: translateX(16px);
}

.work-library-scope-switch input:focus-visible + .work-library-scope-slider {
    outline: 2px solid #CED5BF;
    outline-offset: 1px;
}

.work-library-popover-body {
    padding: 12px;
    display: grid;
    gap: 8px;
}

.work-library-list {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    min-height: 160px;
    max-height: 280px;
    overflow: auto;
    background: #ffffff;
}

.work-library-row {
    padding: 3px 11px;
    border-bottom: 1px solid #E9EEE1;
    cursor: pointer;
    transition: background-color 0.14s ease;
}

.work-library-row:last-child {
    border-bottom: 0;
}

.work-library-row:hover {
    background: #E9EEE1;
}

.work-library-row.is-selected {
    background: #E9EEE1;
}

.work-library-row-title {
    font-size: 0.86rem;
    font-weight: 600;
    color: #1f2937;
}

.work-library-row-meta {
    margin-top: 2px;
    font-size: 0.77rem;
    color: #64748b;
}

.work-library-empty {
    padding: 14px 11px;
    color: #64748b;
    font-size: 0.84rem;
}

.work-library-popover-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 10px 12px 12px;
    border-top: 1px solid #edf1f6;
}

.work-library-popover-actions .btn-primary:disabled {
    background: #cbd5e1;
    border-color: #cbd5e1;
    color: #ffffff;
    opacity: 1;
}

#work-modal .task-assignment-control {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

#work-modal .task-assignment-box {
    width: 100%;
    min-height: 48px;
    border: 1px solid #c8d1dc;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

#work-modal .task-assignment-box:hover,
#work-modal .task-assignment-box:focus-visible {
    border-color: #CED5BF;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.18);
}

#work-modal .task-assignment-box.is-empty {
    color: #56705D;
    background: #F4F7EF;
    border-color: #CED5BF;
}

#work-modal .task-assignment-box-content {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

#work-modal .task-assignment-box-icon {
    width: 22px;
    min-width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #56705D;
    font-size: 1rem;
    margin-top: 1px;
}

#work-modal .task-assignment-box-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

#work-modal .task-assignment-box-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
}

#work-modal .task-assignment-box.is-empty .task-assignment-box-title {
    color: #56705D;
}

#work-modal .task-assignment-box-meta {
    font-size: 0.8rem;
    line-height: 1.4;
    color: #64748b;
    word-break: break-word;
}

#work-modal .task-assignment-clear {
    width: 42px;
    min-width: 42px;
    height: 48px;
    padding: 0;
    justify-content: center;
    border-color: #efc1bf;
    color: #b42318;
    background: #fff5f5;
}

#work-modal .task-assignment-clear:hover,
#work-modal .task-assignment-clear:focus-visible {
    background: #ffe8e6;
    border-color: #e88984;
}

#work-modal .task-assignment-clear[hidden] {
    display: none !important;
}

.work-parent-picker-modal.modal-shell {
    position: fixed;
    inset: 0;
    z-index: 3080;
}

.work-parent-picker-card {
    width: min(760px, calc(100vw - 32px));
    max-height: min(90vh, 760px);
}

.work-parent-picker-body {
    display: grid;
    gap: 12px;
}

.work-parent-picker-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.work-parent-picker-section-title {
    margin-top: 2px;
    color: #334155;
    font-size: 0.95rem;
    font-weight: 800;
}

.work-parent-picker-checklist {
    display: grid;
    gap: 3px;
    max-height: 110px;
    overflow: auto;
    padding: 4px;
    border: 1px solid #c8d1dc;
    border-radius: 12px;
    background: #ffffff;
}

.work-parent-picker-filter-option {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    min-height: 26px;
    padding: 3px 5px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #1f2937;
    cursor: pointer;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.work-parent-picker-filter-option:hover,
.work-parent-picker-filter-option:focus-within {
    border-color: #CED5BF;
    background: #F4F7EF;
}

.work-parent-picker-filter-option.is-selected,
.work-parent-picker-filter-option:has(.work-parent-picker-filter-checkbox:checked) {
    border-color: #56705D;
    background: #56705D;
    color: #ffffff;
}

.work-parent-picker-filter-checkbox {
    appearance: auto;
    flex: 0 0 16px;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    margin: 0;
    padding: 0 !important;
    accent-color: #56705D;
}

.work-parent-picker-filter-option.is-selected .work-parent-picker-filter-checkbox,
.work-parent-picker-filter-option:has(.work-parent-picker-filter-checkbox:checked) .work-parent-picker-filter-checkbox {
    outline: 1px solid rgba(255, 255, 255, 0.75);
    outline-offset: 1px;
}

.work-parent-picker-filter-option span {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.86rem;
}

.work-parent-picker-filter-empty {
    padding: 8px;
    color: #64748b;
    font-size: 0.84rem;
}

.work-parent-picker-list {
    display: grid;
    gap: 6px;
    max-height: 200px;
    overflow: auto;
    padding-right: 2px;
}

.work-parent-picker-row {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(84px, 0.7fr) minmax(180px, 1.8fr) minmax(120px, 1fr) 44px;
    align-items: center;
    gap: 10px;
    border: 1px solid #dbe3ed;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    padding: 9px 11px;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.work-parent-picker-row--subtask {
    margin-left: 22px;
    width: calc(100% - 22px);
}

.work-parent-picker-row:hover,
.work-parent-picker-row:focus-visible,
.work-parent-picker-row.is-selected {
    border-color: #56705D;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.14);
    background: #F4F7EF;
}

.work-parent-picker-cell {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.88rem;
}

.work-parent-picker-id {
    font-weight: 700;
    color: #56705D;
}

.work-parent-picker-name {
    font-weight: 600;
}

.work-parent-picker-date {
    color: #475569;
}

.work-parent-picker-status {
    display: inline-flex;
    justify-content: center;
}

.work-parent-picker-status .active-phase-task-status-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 30px;
    margin: 0 auto;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    font-size: 1rem;
    color: #000000;
    cursor: default;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.work-parent-picker-status .active-phase-task-status-btn i {
    color: #000000;
}

.work-parent-picker-empty {
    border: 1px dashed #c8d1dc;
    border-radius: 12px;
    padding: 14px;
    color: #64748b;
    font-size: 0.88rem;
}

.work-deadline-approval-modal.modal-shell {
    position: fixed;
    inset: 0;
    z-index: 3090;
}

.work-deadline-approval-card {
    width: min(620px, calc(100vw - 32px));
}

.work-deadline-approval-body {
    display: grid;
    gap: 12px;
}

.work-deadline-approval-text,
.work-deadline-approval-meta {
    margin: 0;
    color: #334155;
    font-size: 0.98rem;
    line-height: 1.45;
}

.work-deadline-approval-meta {
    color: #56705D;
    font-weight: 700;
}

.work-deadline-approval-error {
    margin: 0;
    color: #b42318;
    font-size: 0.86rem;
    font-weight: 700;
}

.work-deadline-approval-pending {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    margin: 10px 0 14px;
    padding: 10px 14px;
    border: 1px solid #f3c969;
    border-radius: 14px;
    background: #fff8e8;
    color: #374151;
    font-size: 0.9rem;
}

.work-deadline-approval-pending strong {
    color: #92400e;
}

.work-deadline-approval-pending a {
    color: #56705D;
    font-weight: 800;
    text-decoration: none;
}

.page-approval-request .approval-request-page {
    padding-top: 34px;
}

.page-approval-request .approval-request-surface {
    width: var(--pc-page-body-width);
    max-width: var(--pc-page-body-width);
    margin: 0 auto 48px;
    padding: 28px;
    border: 1px solid #d7dee8;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
}

.approval-request-header,
.approval-request-hero,
.approval-request-actions {
    display: flex;
    align-items: center;
}

.approval-request-header {
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.approval-request-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 800;
    white-space: nowrap;
}

.approval-request-status.is-pending {
    border: 1px solid #f3c969;
    background: #fff8e8;
    color: #92400e;
}

.approval-request-status.is-approved {
    border: 1px solid #b7d6bd;
    background: #eef8f0;
    color: #166534;
}

.approval-request-status.is-rejected {
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #9f1239;
}

.approval-request-status.is-muted {
    border: 1px solid #d7dee8;
    background: #f8fafc;
    color: #64748b;
}

.approval-request-hero {
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 20px;
    border: 1px solid #d7dee8;
    border-radius: 18px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.approval-request-kicker {
    display: block;
    margin-bottom: 6px;
    color: #56705D;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.page-project-overview.page-approval-request .approval-request-hero h1 {
    margin: 0 !important;
    color: #111827;
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
    font-weight: 700;
}

.approval-request-hero a,
.approval-request-details a {
    color: #56705D;
    font-weight: 800;
    text-decoration: none;
}

.approval-request-date-box {
    display: grid;
    gap: 6px;
    justify-items: flex-end;
}

.approval-request-date-label {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.approval-request-date-change {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1px solid #f3c969;
    border-radius: 14px;
    background: #fff8e8;
    color: #374151;
    font-size: 0.95rem;
    font-weight: 800;
    white-space: nowrap;
}

.approval-request-date-change strong {
    color: #b42318;
}

.approval-request-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.approval-request-card {
    padding: 18px;
    border: 1px solid #d7dee8;
    border-radius: 18px;
    background: #ffffff;
}

.approval-request-card h2 {
    margin: 0 0 14px;
    color: #111827;
    font-size: 1rem;
    font-weight: 800;
}

.approval-request-card h3 {
    margin: 0 0 8px;
    color: #334155;
    font-size: 0.88rem;
    font-weight: 800;
}

.approval-request-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    margin: 0;
}

.approval-request-details div {
    min-width: 0;
}

.approval-request-details dt,
.approval-request-highlight span,
.approval-request-affected-item span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.approval-request-details dd {
    margin: 3px 0 0;
    color: #111827;
    font-size: 0.92rem;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.approval-request-affected-list {
    display: grid;
    gap: 10px;
}

.approval-request-affected-item,
.approval-request-highlight {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid #d7dee8;
    border-radius: 14px;
    background: #f8fafc;
}

.approval-request-affected-item strong,
.approval-request-highlight strong {
    color: #111827;
    font-size: 0.92rem;
    overflow-wrap: anywhere;
}

.approval-request-affected-item small {
    color: #475569;
    font-size: 0.82rem;
}

.approval-request-highlight {
    margin-top: 12px;
    border-color: #f3c969;
    background: #fff8e8;
}

.approval-request-text-block {
    margin-top: 14px;
}

.approval-request-text-block p,
.approval-request-longtext,
.approval-request-muted {
    margin: 0;
    color: #334155;
    font-size: 0.92rem;
    line-height: 1.45;
}

.approval-request-longtext {
    white-space: normal;
    overflow-wrap: anywhere;
}

.approval-request-muted {
    color: #64748b;
}

.approval-request-events {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.approval-request-events li {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid #d7dee8;
    border-radius: 12px;
    background: #f8fafc;
}

.approval-request-events time {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
}

.approval-request-decision-card form {
    display: grid;
    gap: 10px;
}

.approval-request-decision-card label {
    color: #334155;
    font-size: 0.88rem;
    font-weight: 800;
}

.approval-request-decision-card textarea {
    min-height: 110px;
    resize: vertical;
    border: 1px solid #CED5BF;
    border-radius: 14px;
    padding: 12px;
    color: #111827;
    font-size: 0.92rem;
}

.approval-request-counter {
    color: #64748b;
    font-size: 0.78rem;
    text-align: right;
}

.approval-request-actions {
    justify-content: flex-end;
    gap: 12px;
}

.approval-request-reject-btn {
    border-color: #fecaca;
    color: #b91c1c;
    background: #fff1f2;
}

.approval-request-reject-btn:hover {
    border-color: #fca5a5;
    color: #991b1b;
    background: #ffe4e9;
}

.approval-request-error {
    padding: 14px 16px;
    border: 1px solid #fecaca;
    border-radius: 14px;
    background: #fff1f2;
    color: #9f1239;
    font-size: 0.92rem;
    font-weight: 800;
}

@media (max-width: 980px) {
    .page-approval-request .approval-request-surface {
        width: calc(100vw - 28px);
        max-width: calc(100vw - 28px);
        padding: 18px;
    }

    .approval-request-header,
    .approval-request-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .approval-request-grid,
    .approval-request-details {
        grid-template-columns: 1fr;
    }

    .approval-request-date-change {
        width: 100%;
        justify-content: center;
    }
}

.page-create-project .toolbar-btn {
    border: 1px solid #c8d1dc;
    background: #ffffff;
    color: #1b1f24;
    border-radius: 8px;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.9rem;
}

.page-create-project .toolbar-btn:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-access-denied .btn {
    border: 1px solid #c8d1dc;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.93rem;
    font-weight: 600;
    text-decoration: none;
    color: #1b1f24;
    background: #ffffff;
}

.page-access-denied .btn:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-index .project-btn {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c8d1dc;
    background: #ffffff;
    color: #1b1f24;
    border-radius: 12px;
    text-decoration: none;
    font-size: 1.05rem;
    transition: background-color 0.15s ease, border-color 0.15s ease;
    position: relative;
}

.page-index .project-btn:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-index .project-btn::after {
    content: attr(data-tooltip);
    position: absolute;
    top: 50%;
    right: calc(100% + 10px);
    transform: translateY(-50%);
    white-space: nowrap;
    background: #1f2937;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 6px 9px;
    border-radius: 8px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.page-index .project-btn:hover::after {
    opacity: 1;
}

.page-index .auth-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #c8d1dc;
    background: #ffffff;
    color: #1b1f24;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
    text-decoration: none;
}

.page-index .auth-btn:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-index .open-project-btn {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c8d1dc;
    border-radius: 12px;
    background: #ffffff;
    color: #1b1f24;
    text-decoration: none;
    font-size: 1.02rem;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.page-index .open-project-btn:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-login button[type="submit"] {
    margin-top: 16px;
    width: 100%;
    border: none;
    border-radius: 8px;
    background: #56705D;
    color: #ffffff;
    font-size: 1rem;
    padding: 11px 14px;
    cursor: pointer;
}

.page-login .register-btn {
    margin-top: 10px;
    width: 100%;
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #c8d1dc;
    border-radius: 8px;
    background: #ffffff;
    color: #1b1f24;
    font-size: 1rem;
    font-weight: 600;
    padding: 11px 14px;
    text-decoration: none;
}

.page-login .register-btn:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-create-account button[type="submit"] {
    margin-top: 18px;
    width: 100%;
    border: none;
    border-radius: 8px;
    background: var(--accent);
    color: #ffffff;
    font-size: 1rem;
    padding: 11px 14px;
    cursor: pointer;
    font-weight: 600;
}

.page-create-account button[type="submit"]:hover {
    background: var(--accent-hover);
}

.page-create-account .success-modal .go-login {
    display: inline-block;
    width: 100%;
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
    padding: 11px 14px;
    background: var(--accent);
    color: #ffffff;
    font-weight: 600;
}

/* Project overview */
.page-project-overview {
    margin: 0;
    min-height: 100vh;
    background: #f4f6f9;
    color: #1b1f24;
    box-sizing: border-box;
    padding-left: 82px;
}

.page-gpt-model .btn,
.page-project-overview .btn {
    border: 1px solid #c8d1dc;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.93rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #ffffff;
    color: #1b1f24;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.page-gpt-model .btn:hover,
.page-project-overview .btn:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-project-overview .btn-primary {
    background: #56705D;
    border-color: #56705D;
    color: #ffffff;
}

.page-project-overview .btn-primary:hover {
    background: #56705D;
    border-color: #56705D;
}

.page-project-overview .btn:disabled,
.page-project-overview .btn.is-disabled {
    opacity: 0.65;
    cursor: not-allowed;
    pointer-events: none;
}

.top-actions.project-actionbar,
.page-project-overview .top-actions.project-actionbar,
.page-task-overview .top-actions.project-actionbar,
.page-create-project.page-project-settings .project-actionbar {
    position: fixed;
    top: 16px;
    right: 0 !important;
    left: auto !important;
    z-index: 1100;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 0;
    min-height: 48px;
    max-width: min(96vw, 860px);
    padding: 2px 5px 2px 10px;
    overflow: visible;
    border-radius: 14px 0 0 14px;
    border: 0;
    background: linear-gradient(90deg, rgba(226, 240, 255, 0.22) 0%, rgba(239, 247, 255, 0.78) 14%, rgba(246, 250, 255, 0.86) 100%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.72);
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
    backdrop-filter: blur(18px) saturate(1.2);
    transition:
        max-width 0.32s cubic-bezier(0.4, 0, 0.2, 1),
        width 0.32s cubic-bezier(0.4, 0, 0.2, 1),
        padding 0.32s cubic-bezier(0.4, 0, 0.2, 1),
        border-radius 0.32s cubic-bezier(0.4, 0, 0.2, 1),
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.project-actionbar-module-label {
    align-self: flex-end;
    margin: 0 0 1px;
    padding: 0;
    color: #4b5563;
    font-size: 6px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    pointer-events: none;
    text-align: right;
    white-space: nowrap;
}

.project-actionbar[hidden] {
    display: none !important;
}

.project-actionbar-items {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 8px;
    max-width: calc(96vw - 34px);
    opacity: 1;
    transform: translateX(0);
    white-space: nowrap;
    transition:
        max-width 0.32s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.18s ease,
        transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.project-actionbar-collapse-toggle {
    position: absolute;
    left: -12px;
    top: 50%;
    z-index: 2;
    width: 24px;
    min-width: 24px;
    height: 24px;
    min-height: 24px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(203, 213, 225, 0.82);
    border-radius: 999px;
    background: #ffffff;
    color: #6b7280;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    transform: translateY(-50%);
    transition:
        color 0.18s ease,
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.project-actionbar-collapse-toggle:hover,
.project-actionbar-collapse-toggle:focus-visible {
    color: #4b5563;
    background: #f8fafc;
    border-color: rgba(148, 163, 184, 0.9);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.project-actionbar-collapse-toggle i {
    font-size: 0.82rem;
    line-height: 1;
}

.top-actions.project-actionbar.is-collapsed,
.page-project-overview .top-actions.project-actionbar.is-collapsed,
.page-task-overview .top-actions.project-actionbar.is-collapsed,
.page-create-project.page-project-settings .project-actionbar.is-collapsed {
    width: 24px;
    min-width: 24px;
    max-width: 24px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    gap: 0;
    border-radius: 12px 0 0 12px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.project-actionbar.is-collapsed .project-actionbar-items {
    width: 0;
    max-width: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateX(14px);
    overflow: hidden;
}

.project-actionbar.is-collapsed .project-actionbar-module-label {
    display: none;
}

.project-actionbar.is-collapsed .project-actionbar-collapse-toggle {
    width: 24px;
    min-width: 24px;
    height: 24px;
    min-height: 24px;
    border-radius: 999px;
}

.project-actionbar .btn,
.project-actionbar .project-actionbar-btn {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex: 0 0 auto;
}

.project-actionbar .btn i,
.project-actionbar .project-actionbar-btn i {
    font-size: 1rem;
    line-height: 1;
}

.project-actionbar .btn > span:not(.project-notification-badge),
.project-actionbar .project-actionbar-btn > span:not(.project-notification-badge) {
    display: none !important;
}

	.project-actionbar .auth-form,
	.project-actionbar .project-actionbar-form {
	    margin: 0;
	    flex: 0 0 auto;
	}

	.project-header {
	    position: fixed;
	    top: 8px;
	    left: 50%;
	    z-index: 2990;
	    width: min(var(--pc-page-body-width, 1800px), calc(100vw - 144px));
	    max-width: calc(100vw - 144px);
	    transform: translateX(-50%);
	    pointer-events: none;
	}

	.project-header-inner {
	    pointer-events: auto;
	    max-height: 320px;
	    padding: 6px;
	    overflow: visible;
	    border: 1px solid rgba(216, 222, 230, 0.72);
	    border-radius: 18px;
	    background: linear-gradient(135deg, rgba(226, 240, 255, 0.34) 0%, rgba(239, 247, 255, 0.58) 42%, rgba(255, 255, 255, 0.46) 100%);
	    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.82);
	    -webkit-backdrop-filter: blur(22px) saturate(1.28);
	    backdrop-filter: blur(22px) saturate(1.28);
	    transition: max-height 0.24s ease, opacity 0.18s ease, transform 0.24s ease, padding 0.24s ease;
	}

	.project-header-row {
	    display: flex;
	    align-items: stretch;
	    gap: 8px;
	    min-width: 0;
	}

	.project-toolbar-section {
	    min-width: 0;
	    min-height: 52px;
	    padding: 3px 6px 5px;
	    display: flex;
	    flex-direction: column;
	    justify-content: center;
	    gap: 3px;
	    border: 1px solid rgba(216, 222, 230, 0.82);
	    border-radius: 14px;
	    background: linear-gradient(180deg, rgba(255, 255, 255, 0.62) 0%, rgba(246, 250, 255, 0.42) 100%);
	    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
	    -webkit-backdrop-filter: blur(16px) saturate(1.18);
	    backdrop-filter: blur(16px) saturate(1.18);
	}

	.project-toolbar-section-actions,
	.project-toolbar-section-favorites,
	.project-toolbar-section-utility {
	    flex: 0 0 auto;
	}

	.project-toolbar-section-search {
	    flex: 1 1 260px;
	}

	.project-toolbar-section-label {
	    margin: 0;
	    padding: 0 2px;
	    color: #64748b;
	    font-size: 6px;
	    font-weight: 800;
	    line-height: 1;
	    letter-spacing: 0.04em;
	    text-transform: uppercase;
	    white-space: nowrap;
	}

	.project-header .project-actionbar {
	    position: static !important;
	    inset: auto !important;
	    width: auto !important;
	    min-width: 0;
	    max-width: 100% !important;
	    min-height: 42px;
	    padding: 0 !important;
	    display: block;
	    border: 0 !important;
	    border-radius: 0 !important;
	    background: transparent !important;
	    box-shadow: none !important;
	    transform: none !important;
	    -webkit-backdrop-filter: none !important;
	    backdrop-filter: none !important;
	}

	.project-header .project-actionbar-items {
	    max-width: 100%;
	    gap: 8px;
	    overflow: visible;
	}

	.project-header .project-actionbar .btn,
	.project-header .project-actionbar .project-actionbar-btn {
	    width: 42px;
	    min-width: 42px;
	    height: 42px;
	    min-height: 42px;
	    border-radius: 14px;
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--subproject {
	    background: var(--pc-level-subproject-bg);
	    border-color: var(--pc-level-subproject-border);
	    color: var(--pc-level-subproject-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--subproject:hover,
	.project-header .project-actionbar-create-btn.project-plan-header-action--subproject:focus-visible {
	    background: var(--pc-level-subproject-hover-bg);
	    border-color: var(--pc-level-subproject-border-strong);
	    color: var(--pc-level-subproject-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--phase {
	    background: var(--pc-level-phase-bg);
	    border-color: var(--pc-level-phase-border);
	    color: var(--pc-level-phase-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--phase:hover,
	.project-header .project-actionbar-create-btn.project-plan-header-action--phase:focus-visible {
	    background: var(--pc-level-phase-hover-bg);
	    border-color: var(--pc-level-phase-border-strong);
	    color: var(--pc-level-phase-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--task {
	    background: var(--pc-level-task-bg);
	    border-color: var(--pc-level-task-border);
	    color: var(--pc-level-task-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--task:hover,
	.project-header .project-actionbar-create-btn.project-plan-header-action--task:focus-visible {
	    background: var(--pc-level-task-hover-bg);
	    border-color: var(--pc-level-task-border-strong);
	    color: var(--pc-level-task-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--subtask {
	    background: var(--pc-level-subtask-bg);
	    border-color: var(--pc-level-subtask-border);
	    color: var(--pc-level-subtask-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--subtask:hover,
	.project-header .project-actionbar-create-btn.project-plan-header-action--subtask:focus-visible {
	    background: var(--pc-level-subtask-hover-bg);
	    border-color: var(--pc-level-subtask-border-strong);
	    color: var(--pc-level-subtask-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--work {
	    background: var(--pc-level-work-bg);
	    border-color: var(--pc-level-work-border);
	    color: var(--pc-level-work-text);
	}

	.project-header .project-actionbar-create-btn.project-plan-header-action--work:hover,
	.project-header .project-actionbar-create-btn.project-plan-header-action--work:focus-visible {
	    background: var(--pc-level-work-hover-bg);
	    border-color: var(--pc-level-work-border-strong);
	    color: var(--pc-level-work-text);
	}

	.project-search-form {
	    width: 100%;
	    min-width: 0;
	    display: flex;
	    align-items: center;
	    gap: 6px;
	}

	.project-search-input {
	    width: 100%;
	    min-width: 0;
	    height: 42px;
	    border: 1px solid #c8d1dc;
	    border-radius: 12px;
	    background: #ffffff;
	    color: #000000;
	    padding: 0 12px;
	    font: inherit;
	    font-size: 0.9rem;
	    font-weight: 650;
	    outline: none;
	    box-sizing: border-box;
	}

	.project-search-input:focus {
	    border-color: #9aa8b9;
	    box-shadow: 0 0 0 3px rgba(154, 168, 185, 0.2);
	}

	.project-search-input::-webkit-search-cancel-button {
	    -webkit-appearance: none;
	    appearance: none;
	    width: 18px;
	    height: 18px;
	    margin-left: 8px;
	    background-color: #000000;
	    cursor: pointer;
	    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
	    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
	}

	.project-search-btn,
	.project-favorites-toggle {
	    height: 42px;
	    min-height: 42px;
	    border: 1px solid #c8d1dc;
	    border-radius: 14px;
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    gap: 8px;
	    cursor: pointer;
	    white-space: nowrap;
	    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	}

	.project-search-btn {
	    width: 42px;
	    min-width: 42px;
	    padding: 0;
	    background: #ffffff;
	    color: #000000;
	}

	.project-search-btn:hover,
	.project-search-btn:focus-visible {
	    background: #E9EEE1;
	    border-color: #c8d1dc;
	}

	.project-search-btn i {
	    color: inherit;
	}

	.project-favorites-toggle {
	    padding: 0 12px;
	    background: #ffffff;
	    border-color: #c8d1dc;
	    color: #000000;
	    font-weight: 800;
	}

	.project-favorites-toggle:hover,
	.project-favorites-toggle:focus-visible,
	.project-favorites-toggle.is-active {
	    background: #E9EEE1;
	    color: #000000;
	    border-color: #c8d1dc;
	}

		.project-header-favorites-row {
		    pointer-events: auto;
		    margin-top: 8px;
		    width: 100%;
		    max-width: 100%;
		    box-sizing: border-box;
		    overflow: hidden;
		}

	.project-header-favorites-row[hidden] {
	    display: none !important;
	}

		.project-header .pfb-shell--header {
		    position: static !important;
		    top: auto !important;
		    left: auto !important;
		    width: 100% !important;
		    max-width: 100% !important;
		    transform: none !important;
		    z-index: auto !important;
		    display: block;
		    box-sizing: border-box;
		}

		.project-header .pfb-shell--header .pfb-panel {
		    width: 100% !important;
		    max-width: 100% !important;
		    box-sizing: border-box;
		    max-height: 230px !important;
		    padding: 10px 14px !important;
		    overflow: visible;
	    border: 1px solid rgba(216, 222, 230, 0.82) !important;
	    border-radius: 14px !important;
	    background: rgba(255, 255, 255, 0.78);
	    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68);
	}

		.project-header .pfb-shell--header .pfb-list {
		    width: 100%;
		    max-width: 100%;
		    box-sizing: border-box;
		    grid-auto-columns: minmax(160px, calc((100% - 40px) / 5));
		    padding-bottom: 0;
		}

	.project-header-collapse-toggle {
	    pointer-events: auto;
	    position: absolute;
	    top: 50%;
	    right: -52px;
	    width: 34px;
	    min-width: 34px;
	    height: 34px;
	    min-height: 34px;
	    padding: 0;
	    display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    border: 1px solid rgba(203, 213, 225, 0.9);
	    border-radius: 999px;
	    background: #ffffff;
	    color: #56705D;
	    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.10);
	    font-size: 0.82rem;
	    font-weight: 800;
	    line-height: 1;
	    cursor: pointer;
	    transform: translateY(-50%);
	}

	.project-header-collapse-toggle i {
	    font-size: 0.9rem;
	}

	.project-header.is-collapsed .project-header-inner {
	    max-height: 0;
	    padding-top: 0;
	    padding-bottom: 0;
	    opacity: 0;
	    overflow: hidden;
	    pointer-events: none;
	    transform: translateY(-10px);
	}

	.project-header.is-collapsed .project-header-collapse-toggle {
	    top: 0;
	    right: -52px;
	    border-radius: 999px;
	}

	body:has(> .project-header):not(.is-iframe-embed) > :is(.page, .overview-page, .subprojects-page) {
	    margin-top: var(--pc-project-header-body-offset);
	}

	body:has(> .project-header).page-project-plan:not(.is-iframe-embed) > .overview-page {
	    height: calc(100vh - var(--pc-project-header-body-offset) - 36px);
	}

	html.is-iframe-embed .project-header,
	body.is-iframe-embed .project-header {
	    display: none !important;
	}

	@media (max-width: 1320px) {
	    .project-header {
	        width: calc(100vw - 128px);
	        max-width: calc(100vw - 128px);
	    }

	    .project-header-row {
	        gap: 6px;
	    }

	    .project-toolbar-section {
	        padding-left: 5px;
	        padding-right: 5px;
	    }

	    .project-header .project-actionbar-items {
	        gap: 6px;
	    }
	}

	@media (max-width: 1080px) {
	    .project-header {
	        width: calc(100vw - 112px);
	        max-width: calc(100vw - 112px);
	    }

	    .project-header-row {
	        flex-wrap: wrap;
	    }

	    .project-toolbar-section-search {
	        order: 4;
	        flex: 1 1 100%;
	    }
	}


    .project-search-mobile-trigger, .project-tools-toggle, .project-tools-panel, .project-tools-backdrop { display: none; }
    body.project-tools-open { overflow: hidden; }
    .project-header-search-form-slot:empty { display: none; }
    .project-header-search-form-slot { padding: 16px 24px 0; flex: 0 0 auto; }
    .project-header-search-modal .pc-sidebar-search-head { flex: 0 0 auto; }
    .project-header-search-modal .pc-sidebar-search-body { min-height: 0; overscroll-behavior: contain; }
    .project-header :is(button, a):focus-visible,
    .project-header-search-modal :is(button, a):focus-visible {
        outline: 3px solid var(--pc-description-standard-dark);
        outline-offset: 2px;
    }

    @media (max-width: 767px) {
        /* One normal navigation row, shared with the existing left menu trigger.
           The drawer is an overlay and never contributes to the content offset. */
        .project-header {
            position: relative;
            inset: auto;
            transform: none;
            width: 100%;
            max-width: 100%;
            height: calc(64px + env(safe-area-inset-top, 0px));
            box-sizing: border-box;
            padding: calc(8px + env(safe-area-inset-top, 0px)) max(8px, env(safe-area-inset-right)) 8px;
            z-index: auto;
        }
        .project-header .project-header-inner,
        .project-header.is-collapsed .project-header-inner,
        .project-header-inner > .project-header-row,
        .project-header .project-toolbar-section {
            display: contents;
            pointer-events: auto;
        }
        .project-header .project-toolbar-section-label,
        .project-header .project-toolbar-section-favorites,
        .project-header .project-header-favorites-row,
        .project-header .project-header-collapse-toggle { display: none; }
        .project-header .project-tools-toggle { margin-left: auto; pointer-events: auto; }
        .project-header .project-tools-backdrop:not([hidden]) {
            display: block;
            position: fixed;
            inset: 0;
            z-index: 5700;
            background: rgba(15, 23, 42, 0.24);
            pointer-events: auto;
        }
        .project-header .project-tools-panel {
            display: flex;
            flex-flow: column nowrap;
            align-items: flex-start;
            justify-content: flex-start;
            gap: 8px;
            position: fixed;
            top: 0;
            right: 0;
            z-index: 5710;
            box-sizing: border-box;
            width: calc(66px + env(safe-area-inset-right, 0px));
            max-width: none;
            height: 100dvh;
            padding: calc(8px + env(safe-area-inset-top, 0px)) calc(8px + env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) 8px;
            border: 1px solid #d8dee6;
            border-right: 0;
            border-radius: 18px 0 0 18px;
            background: #ffffff;
            box-shadow: -18px 0 36px rgba(15, 23, 42, 0.18);
            overflow-x: hidden;
            overflow-y: auto;
            scrollbar-width: none;
            overscroll-behavior: contain;
            visibility: hidden;
            pointer-events: none;
            transform: translateX(105%);
            transition: transform 0.26s ease, visibility 0.26s;
        }
        .project-header .project-tools-panel::-webkit-scrollbar { display: none; }
        .project-header.is-tools-open .project-tools-panel {
            transition-property: transform;
            transform: translateX(0);
            visibility: visible;
            pointer-events: auto;
        }
        .project-header .project-tools-panel :is(.project-actionbar, .project-actionbar-items, .project-actionbar-form) { display: contents; }
        /* Override the actual desktop minimum/maximum sizes, including plan actions. */
        body .project-header[data-project-header] :is(.project-tools-toggle, .project-tools-panel .project-actionbar .project-actionbar-btn, .project-tools-close, .project-search-mobile-trigger) {
            box-sizing: border-box;
            position: relative;
            inset: auto;
            transform: none;
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 48px;
            width: 48px;
            min-width: 48px;
            max-width: 48px;
            height: 48px;
            min-height: 48px;
            max-height: 48px;
            padding: 0;
            border-radius: 14px;
        }
        body .project-header[data-project-header] .project-tools-panel :is(.project-actionbar-btn, .project-tools-close, .project-search-mobile-trigger) { margin: 0; }
        body .project-header[data-project-header] :is(.project-tools-toggle, .project-tools-panel .project-actionbar .project-actionbar-btn, .project-tools-close, .project-search-mobile-trigger) > i { font-size: 20px; line-height: 1; }
        .project-header[data-project-header] [hidden] { display: none !important; }
        .project-header[data-project-header] .project-notification-badge { top: 0; right: 0; max-width: 46px; box-sizing: border-box; }
        body:has(> .project-header).page-project-plan:not(.is-iframe-embed) > .overview-page {
            height: calc(100dvh - 108px - env(safe-area-inset-top, 0px));
        }
        @media (prefers-reduced-motion: reduce) {
            .project-header .project-tools-panel { transition: none; }
        }
        .pc-sidebar-search-modal.project-header-search-modal {
            top: var(--project-search-viewport-top, 0px);
            bottom: auto;
            height: var(--project-search-viewport-height, 100dvh);
            padding: 8px max(8px, env(safe-area-inset-right)) 8px max(8px, env(safe-area-inset-left));
            align-items: flex-start;
        }
        .project-header-search-modal .pc-sidebar-search-card {
            width: 100%;
            max-width: 100%;
            max-height: 100%;
            border-radius: 18px;
        }
        .project-header-search-modal .pc-sidebar-search-head { padding: 12px; gap: 8px; }
        .project-header-search-modal .pc-sidebar-search-eyebrow { display: none; }
        .project-header-search-modal .pc-sidebar-search-head h2 { font-size: 1.1rem; }
        .project-header-search-form-slot { padding: 12px 12px 0; }
        .project-header-search-modal .project-search-input { height: 48px; font-size: 16px; }
        .project-header-search-modal :is(.project-search-btn, .pc-sidebar-search-close) {
            flex: 0 0 48px;
            width: 48px;
            height: 48px;
            min-height: 48px;
        }
        .project-header-search-modal .pc-sidebar-search-body { padding: 12px; }
        .project-header-search-modal .pc-sidebar-search-table { min-width: 0; }
        .project-header-search-modal .pc-sidebar-search-row { min-width: 0; grid-template-columns: minmax(0, 1fr) 44px; align-items: start; }
        .project-header-search-modal .pc-sidebar-search-row-head { display: none; }
        .project-header-search-modal .pc-sidebar-search-row-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
        .project-header-search-modal .pc-sidebar-search-cell { white-space: normal; overflow-wrap: anywhere; }
    }

	.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action {
	    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 14px;
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action i {
    color: inherit;
    font-size: 1rem;
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--subproject {
    background: var(--pc-level-subproject-bg);
    border-color: var(--pc-level-subproject-border);
    color: var(--pc-level-subproject-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--subproject:hover,
.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--subproject:focus-visible {
    background: var(--pc-level-subproject-hover-bg);
    border-color: var(--pc-level-subproject-border-strong);
    color: var(--pc-level-subproject-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--phase {
    background: var(--pc-level-phase-bg);
    border-color: var(--pc-level-phase-border);
    color: var(--pc-level-phase-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--phase:hover,
.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--phase:focus-visible {
    background: var(--pc-level-phase-hover-bg);
    border-color: var(--pc-level-phase-border-strong);
    color: var(--pc-level-phase-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--task {
    background: var(--pc-level-task-bg);
    border-color: var(--pc-level-task-border);
    color: var(--pc-level-task-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--task:hover,
.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--task:focus-visible {
    background: var(--pc-level-task-hover-bg);
    border-color: var(--pc-level-task-border-strong);
    color: var(--pc-level-task-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--subtask {
    background: var(--pc-level-subtask-bg);
    border-color: var(--pc-level-subtask-border);
    color: var(--pc-level-subtask-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--subtask:hover,
.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--subtask:focus-visible {
    background: var(--pc-level-subtask-hover-bg);
    border-color: var(--pc-level-subtask-border-strong);
    color: var(--pc-level-subtask-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--work {
    background: var(--pc-level-work-bg);
    border-color: var(--pc-level-work-border);
    color: var(--pc-level-work-text);
}

.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--work:hover,
.top-actions.project-actionbar .project-actionbar-create-btn.project-plan-header-action--work:focus-visible {
    background: var(--pc-level-work-hover-bg);
    border-color: var(--pc-level-work-border-strong);
    color: var(--pc-level-work-text);
}

.project-actionbar-create-embed[hidden] {
    display: none !important;
}

.project-actionbar-create-embed {
    position: fixed;
    inset: 0;
    z-index: 25000;
    background: rgba(15, 23, 42, 0.55);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}

.project-actionbar-create-embed-frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: transparent;
}

.project-actionbar-ticket-preview-embed[hidden] {
    display: none !important;
}

.project-actionbar-ticket-preview-embed {
    position: fixed;
    inset: 0;
    z-index: 25000;
    display: grid;
    place-items: center;
    padding: 20px;
    box-sizing: border-box;
}

.project-actionbar-ticket-preview-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.project-actionbar-ticket-preview-card {
    position: relative;
    width: min(90vw, 1600px);
    max-width: min(90vw, 1600px);
    height: min(90vh, 980px);
    max-height: min(90vh, 980px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #ffffff;
    z-index: 1;
}

.project-actionbar-ticket-preview-info,
.project-actionbar-ticket-preview-open,
.project-actionbar-ticket-preview-close {
    position: absolute;
    top: 14px;
    z-index: 2;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid #d8dee6;
    background: rgba(255, 255, 255, 0.94);
    color: #334155;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.10);
}

.project-actionbar-ticket-preview-info {
    right: 118px;
}

.project-actionbar-ticket-preview-open {
    right: 66px;
}

.project-actionbar-ticket-preview-close {
    right: 14px;
}

.project-actionbar-ticket-preview-info:hover,
.project-actionbar-ticket-preview-info:focus-visible,
.project-actionbar-ticket-preview-open:hover,
.project-actionbar-ticket-preview-open:focus-visible,
.project-actionbar-ticket-preview-close:hover,
.project-actionbar-ticket-preview-close:focus-visible {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
    outline: none;
}

.project-actionbar-ticket-preview-frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}

/* Shared subtask creation form: Actionbar and Meeting use the same component. */
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .modal-head {
    padding: 18px 20px 10px;
    border-bottom: 1px solid #edf1f6;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .modal-head h2 {
    margin: 0;
    font-size: 1.15rem;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .modal-body {
    padding: 14px 20px;
    overflow: auto;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px 18px;
    border-top: 1px solid #edf1f6;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-sections {
    display: grid;
    gap: 0;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-section {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-section + .task-modal-section {
    border-top: 1px solid #edf1f6;
    margin-top: 10px;
    padding-top: 10px;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-section-summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0;
    cursor: pointer;
    user-select: none;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-section-summary::-webkit-details-marker {
    display: none;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-section-title {
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.2;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-section-arrow {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #56705D;
    flex: 0 0 auto;
    transition: transform 0.18s ease;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-section[open] .task-modal-section-arrow {
    transform: rotate(90deg);
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-modal-section-body {
    padding-top: 10px;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-form-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-form-grid.task-time-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-form-grid .full {
    grid-column: 1 / -1;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .subtask-general-top-grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 12px;
    align-items: end;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .subtask-general-top-grid > * {
    min-width: 0;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .field-label-inline {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 6px;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .field-label-inline .field-label,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .field-label {
    margin: 0;
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .inline-info {
    position: relative;
    display: inline-flex;
    align-items: center;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .inline-info summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #5f775f;
    cursor: pointer;
    list-style: none;
    transition: all 0.2s ease;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .inline-info summary::-webkit-details-marker {
    display: none;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .inline-info summary:hover,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .inline-info summary:focus-visible {
    border-color: #b8c6d6;
    background: #f8fafc;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .inline-info-popover {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    width: min(360px, calc(100vw - 80px));
    max-width: calc(100vw - 80px);
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid #dbe3ed;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(18, 24, 33, 0.12);
    color: #4b5563;
    font-size: 0.88rem;
    line-height: 1.45;
    z-index: 30;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .text-input,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .text-area,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .select-input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #CED5BF;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.92rem;
    color: #1f2937;
    background: #ffffff;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .text-area {
    min-height: 130px;
    resize: vertical;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .text-input:focus,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .text-area:focus,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .select-input:focus {
    outline: none;
    border-color: #CED5BF;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.13);
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .duration-field-wrap {
    display: grid;
    gap: 8px;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .duration-toggle-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: #475569;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-assignment-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-assignment-section-stack {
    display: grid;
    gap: 12px;
    align-content: start;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-assignment-control {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .subtask-select-control .select-input {
    min-height: 48px;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-list {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    max-height: calc((4 * 34px) + 12px);
    overflow-y: auto;
    padding: 6px;
    background: #fcfdff;
    scrollbar-gutter: stable;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-item,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-option {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 8px;
    border-radius: 8px;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-item:hover,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-option:hover {
    background: #E9EEE1;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-item.is-disabled,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-option.is-disabled {
    opacity: 0.58;
    cursor: default;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-item.is-disabled:hover,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-option.is-disabled:hover {
    background: transparent;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-item input[type="checkbox"],
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    flex: 0 0 auto;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-item span,
:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .supporter-option span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

:is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

@media (max-width: 1100px) {
    :is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-form-grid,
    :is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-form-grid.task-time-grid,
    :is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .task-assignment-section-grid,
    :is(.project-actionbar-create-shell-page, .page-project-overview) #subtask-modal .subtask-general-top-grid {
        grid-template-columns: 1fr;
    }
}

.page-project-overview .top-actions {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 1100;
    display: flex;
    align-items: center;
    gap: 10px;
}

.page-project-overview .project-info-btn {
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0;
}

.page-project-overview .project-info-btn i {
    font-size: 1rem;
    line-height: 1;
}

.page-project-overview .project-notification-btn,
.project-actionbar .project-notification-btn {
    position: relative;
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0;
}

.page-project-overview .project-notification-btn i,
.project-actionbar .project-notification-btn i {
    font-size: 1rem;
    line-height: 1;
}

.page-project-overview .project-notification-btn.has-unread,
.project-actionbar .project-notification-btn.has-unread {
    border-color: #56705D;
    box-shadow: 0 0 0 2px rgba(86, 112, 93, 0.15);
}

.page-project-overview .project-notification-badge,
.project-actionbar .project-notification-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    border: 1px solid #ffffff;
    background: #b91c1c;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}

.page-project-overview .project-notification-badge[hidden],
.project-actionbar .project-notification-badge[hidden] {
    display: none;
}

.page-project-overview .auth-form {
    margin: 0;
}

.page-project-overview .pm-sidebar,
.pm-sidebar {
    position: fixed;
    top: 16px;
    left: 12px;
    bottom: auto;
    height: fit-content;
    max-height: calc(100vh - 32px);
    width: 60px;
    z-index: 3000;
    border: 1px solid #d8dee6;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
    overflow-x: hidden;
    overflow-y: auto;
    transition: width 0.22s ease;
}

.page-project-overview .pm-sidebar:hover,
.page-project-overview .pm-sidebar:focus-within,
.pm-sidebar:hover,
.pm-sidebar:focus-within {
    width: 300px;
}

.page-project-overview .pm-nav-list,
.pm-nav-list {
    margin: 0;
    padding: 10px 8px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
    height: auto;
    box-sizing: border-box;
}

.page-project-overview .pm-sidebar-module-label,
.pm-sidebar-module-label {
    position: fixed;
    top: 8px;
    left: 12px;
    z-index: 3001;
    width: 300px;
    margin: 0;
    padding: 0;
    color: #4b5563;
    font-size: 6px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.16s ease;
    white-space: nowrap;
}

.page-project-overview .pm-sidebar:hover + .pm-sidebar-module-label,
.page-project-overview .pm-sidebar:focus-within + .pm-sidebar-module-label,
.pm-sidebar:hover + .pm-sidebar-module-label,
.pm-sidebar:focus-within + .pm-sidebar-module-label {
    opacity: 1;
}

.page-project-overview .pm-nav-item,
.pm-nav-item {
    min-width: 0;
}

.page-project-overview .pm-nav-search-item,
.pm-nav-search-item {
    margin-bottom: 12px;
}

.page-project-overview .pm-sidebar-search-form,
.pm-sidebar-search-form {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.page-project-overview .pm-sidebar-search-input,
.pm-sidebar-search-input {
    width: 100%;
    min-width: 0;
    height: 42px;
    flex: 1 1 auto;
    box-sizing: border-box;
    border: 1px solid #56705D;
    border-radius: 10px;
    background: #ffffff;
    color: #111827;
    padding: 0 10px;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    outline: none;
    transition: opacity 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.page-project-overview .pm-sidebar-search-input::placeholder,
.pm-sidebar-search-input::placeholder {
    color: #64748b;
}

.page-project-overview .pm-sidebar-search-input:focus,
.pm-sidebar-search-input:focus {
    border-color: #49614f;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.14);
}

.page-project-overview .pm-sidebar-search-input::-webkit-search-cancel-button,
.pm-sidebar-search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    margin-left: 8px;
    background-color: #b42318;
    cursor: pointer;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

.page-project-overview .pm-sidebar-search-input::-webkit-search-cancel-button:hover,
.pm-sidebar-search-input::-webkit-search-cancel-button:hover {
    background-color: #991b1b;
}

.page-project-overview .pm-sidebar-search-btn,
.pm-sidebar-search-btn {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border: 1px solid #56705D;
    border-radius: 10px;
    background: #56705D;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.page-project-overview .pm-sidebar-search-btn:hover,
.page-project-overview .pm-sidebar-search-btn:focus-visible,
.pm-sidebar-search-btn:hover,
.pm-sidebar-search-btn:focus-visible {
    background: #49614f;
    border-color: #49614f;
}

.page-project-overview .pm-sidebar-search-btn i,
.pm-sidebar-search-btn i {
    color: #ffffff;
    font-size: 1rem;
    line-height: 1;
}

.page-project-overview .pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-input,
.pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-input {
    flex-basis: 0;
    width: 0;
    padding-left: 0;
    padding-right: 0;
    border-width: 0;
    opacity: 0;
    pointer-events: none;
}

.page-project-overview .pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-form,
.pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-form {
    gap: 0;
}

.page-project-overview .pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-btn,
.pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-btn {
    width: 100%;
    min-width: 0;
    height: 42px;
    border-color: #d8dee6;
    background: #ffffff;
    color: #1e293b;
}

.page-project-overview .pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-btn:hover,
.page-project-overview .pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-btn:focus-visible,
.pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-btn:hover,
.pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-btn:focus-visible {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.page-project-overview .pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-btn i,
.pm-sidebar:not(:hover):not(:focus-within) .pm-sidebar-search-btn i {
    color: #1e293b;
}

.page-project-overview .pm-nav-item-bottom,
.pm-nav-item-bottom {
    margin-top: 0;
}

.page-project-overview .pm-nav-link,
.pm-nav-link {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    border: 1px solid #d8dee6;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    color: #1e293b;
    background: #ffffff;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.page-project-overview .pm-nav-link:hover,
.pm-nav-link:hover {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.page-project-overview .pm-nav-link.is-disabled,
.pm-nav-link.is-disabled {
    opacity: 0.62;
    cursor: not-allowed;
    pointer-events: none;
}

.page-project-overview .pm-nav-icon,
.pm-nav-icon {
    width: 22px;
    min-width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.page-project-overview .pm-nav-logo,
.pm-nav-logo {
    width: 20px;
    height: 20px;
    object-fit: contain;
    display: block;
    border-radius: 4px;
}

.page-project-overview .pm-nav-label,
.pm-nav-label {
    opacity: 0;
    max-width: 0;
    transform: translateX(-5px);
    overflow: hidden;
    white-space: nowrap;
    transition: opacity 0.16s ease, max-width 0.2s ease, transform 0.2s ease;
}

.page-project-overview .pm-sidebar:hover .pm-nav-label,
.page-project-overview .pm-sidebar:focus-within .pm-nav-label,
.pm-sidebar:hover .pm-nav-label,
.pm-sidebar:focus-within .pm-nav-label {
    opacity: 1;
    max-width: 220px;
    transform: translateX(0);
}

.pc-sidebar-search-modal[hidden] {
    display: none !important;
}

.pc-sidebar-search-modal {
    position: fixed;
    inset: 0;
    z-index: 7200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    box-sizing: border-box;
}

.pc-sidebar-search-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
}

.pc-sidebar-search-card {
    position: relative;
    z-index: 1;
    width: min(1120px, calc(100vw - 56px));
    max-height: min(82vh, 860px);
    display: flex;
    flex-direction: column;
    border: 1px solid #d8dee6;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 26px 70px rgba(15, 23, 42, 0.24);
    overflow: hidden;
}

.pc-sidebar-search-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    border-bottom: 1px solid #edf1f6;
}

.pc-sidebar-search-eyebrow {
    margin: 0 0 4px;
    font-size: 0.78rem;
    font-weight: 800;
    color: #56705D;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pc-sidebar-search-head h2 {
    margin: 0;
    color: #111827;
    font-size: 1.35rem;
    line-height: 1.2;
}

.pc-sidebar-search-close {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    background: #ffffff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.pc-sidebar-search-close:hover,
.pc-sidebar-search-close:focus-visible {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.pc-sidebar-search-body {
    padding: 18px 24px 24px;
    overflow: auto;
}

.pc-sidebar-search-summary {
    margin: 0 0 16px;
    color: #475569;
    font-size: 0.95rem;
    font-weight: 600;
}

.pc-sidebar-search-section + .pc-sidebar-search-section {
    margin-top: 22px;
}

.pc-sidebar-search-section h3 {
    margin: 0 0 10px;
    color: #1f2937;
    font-size: 1rem;
    font-weight: 800;
}

.pc-sidebar-search-table {
    display: grid;
    gap: 6px;
}

.pc-sidebar-search-row {
    display: grid;
    grid-template-columns: 86px minmax(180px, 1.5fr) minmax(140px, 1fr) minmax(140px, 1fr) 92px 92px minmax(90px, 0.7fr) 42px;
    align-items: center;
    gap: 10px;
    min-width: 950px;
    padding: 10px 12px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    color: #1f2937;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 400;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    overflow: visible;
}

.pc-sidebar-search-row:not(.pc-sidebar-search-row-head):hover,
.pc-sidebar-search-row:has(.pc-sidebar-search-row-main:focus-visible) {
    background: #f8fbf6;
    border-color: #CED5BF;
    transform: translateY(-1px);
}

.pc-sidebar-search-row:not(.pc-sidebar-search-row-head):has(.pc-sidebar-search-status-icon:hover) {
    background: #ffffff;
    border-color: #d8dee6;
    transform: none;
}

.pc-sidebar-search-row-head {
    background: #f8fafc;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    pointer-events: none;
}

.pc-sidebar-search-row-main {
    display: contents;
    color: inherit;
    text-decoration: none;
}

.pc-sidebar-search-cell {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pc-sidebar-search-id {
    color: #56705D;
    font-weight: 500;
}

.pc-sidebar-search-name {
    color: #111827;
    font-weight: 400;
}

.pc-sidebar-search-status {
    display: inline-flex;
    align-items: center;
    overflow: visible;
}

.pc-sidebar-search-status-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #56705D;
    outline: none;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.pc-sidebar-search-status-icon i {
    color: #56705D;
    font-size: 1rem;
    line-height: 1;
}

.pc-sidebar-search-status-tooltip {
    position: absolute;
    top: 50%;
    right: calc(100% + 10px);
    z-index: 2;
    max-width: 220px;
    padding: 6px 9px;
    border-radius: 8px;
    background: #1f2937;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
    opacity: 0;
    pointer-events: none;
    transform: translate(-4px, -50%);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.pc-sidebar-search-status-tooltip::after {
    content: "";
    position: absolute;
    left: 100%;
    top: 50%;
    border: 5px solid transparent;
    border-left-color: #1f2937;
    transform: translateY(-50%);
}

.pc-sidebar-search-status-icon:hover .pc-sidebar-search-status-tooltip,
.pc-sidebar-search-row-main:focus-visible .pc-sidebar-search-status-tooltip {
    opacity: 1;
    transform: translate(0, -50%);
}

.pc-sidebar-search-open-new {
    width: 34px;
    height: 34px;
    justify-self: end;
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: #ffffff;
    color: #56705D;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pc-sidebar-search-open-new:hover,
.pc-sidebar-search-open-new:focus-visible {
    border-color: #56705D;
    background: #56705D;
    color: #ffffff;
    outline: none;
}

.pc-sidebar-search-open-new i {
    color: currentColor;
    font-size: 0.95rem;
    line-height: 1;
}

.pc-sidebar-search-empty {
    margin: 0;
    padding: 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    color: #64748b;
    background: #f8fafc;
    font-weight: 600;
}

.pc-mobile-sidebar-shell {
    display: none;
}

.pc-mobile-sidebar-backdrop[hidden] {
    display: none !important;
}

.project-actionbar-mobile-toggle,
.project-actionbar-mobile-backdrop,
.mobile-modal-action-icon {
    display: none;
}

.page-project-overview .overview-page {
    width: var(--pc-page-body-width);
    max-width: var(--pc-page-body-width);
    margin: var(--pc-project-header-body-offset) auto 36px;
    display: grid;
    gap: 18px;
}

.page-project-overview h1 {
    margin: 0 0 8px;
    font-size: 2rem;
}

.page-project-overview .hero-project-title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 800;
}

.page-project-overview .subline {
    margin: 0 0 18px;
    color: #4b5563;
    font-size: 0.95rem;
}

.page-project-overview .surface {
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.page-project-overview .hero {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr;
    align-items: stretch;
}

.page-project-overview .hero-main {
    min-width: 0;
    display: grid;
    gap: 12px;
}

.page-project-overview .hero-bottom {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) 260px;
    align-items: stretch;
}

.page-project-overview .my-tickets-surface {
    display: grid;
    gap: 12px;
    padding-top: 8px;
    margin-bottom: 18px;
    min-width: 0;
    min-height: 0;
    max-height: 300px;
    height: auto;
    overflow: auto;
    align-content: start;
}

.page-project-overview .project-overview-ticket-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 30px;
    align-items: start;
}

.page-project-overview .project-overview-ticket-panels > .my-tickets-surface:only-child {
    grid-column: 1 / -1;
}

.page-project-overview .project-overview-ticket-panels > .my-tickets-surface--full {
    grid-column: 1 / -1;
}

.page-project-overview .project-overview-ticket-panels > .my-tickets-surface:only-child .my-ticket-card {
    width: 100%;
    max-width: 100%;
}

.page-project-overview .project-overview-ticket-panels > .my-tickets-surface:only-child .my-tickets-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-project-overview .my-tickets-surface--full .my-tickets-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-project-overview .project-overview-ticket-panels > .my-tickets-surface:only-child .my-tickets-grid > .my-ticket-card--has-children {
    grid-column: span 2;
}

.page-project-overview .my-tickets-surface--full .my-tickets-grid > .my-ticket-card--has-children {
    grid-column: span 2;
}

.page-project-overview .my-tickets-surface h2 {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.2;
}

.page-project-overview .my-tickets-surface-head {
    display: flex;
    align-items: center;
    gap: 4px;
}

.page-project-overview .my-tickets-surface-head--sortable {
    justify-content: space-between;
    gap: 10px;
    flex-wrap: nowrap;
}

.page-project-overview .my-tickets-surface-head h2 {
    flex: 0 1 auto;
}

.page-project-overview .my-tickets-sort-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    flex: 0 0 auto;
}

.page-project-overview .my-tickets-sort-btn {
    min-height: 28px;
    padding: 4px 12px;
    border: 1px solid rgba(86, 112, 93, 0.28);
    border-radius: 999px;
    background: #ffffff;
    color: #3E5144;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.1;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.page-project-overview .my-tickets-sort-btn:hover,
.page-project-overview .my-tickets-sort-btn:focus-visible,
.page-project-overview .my-tickets-sort-btn.is-active {
    border-color: #56705D;
    background: #56705D;
    color: #ffffff;
    outline: none;
}

.page-project-overview .my-tickets-sort-btn:focus-visible {
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.16);
}

.page-project-overview .my-tickets-info {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.page-project-overview .my-tickets-info summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: transparent;
    color: #56705D;
    cursor: pointer;
    list-style: none;
}

.page-project-overview .my-tickets-info summary::-webkit-details-marker {
    display: none;
}

.page-project-overview .my-tickets-info summary i {
    font-size: 0.82rem;
    line-height: 1;
}

.page-project-overview .my-tickets-info-popover {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: min(320px, calc(100vw - 120px));
    padding: 12px 14px;
    border: 1px solid #dbe3ed;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(18, 24, 33, 0.12);
    color: #4b5563;
    font-size: 0.86rem;
    line-height: 1.45;
    z-index: 20;
}

.page-project-overview .my-tickets-group {
    display: grid;
    gap: 6px;
}

.page-project-overview .my-tickets-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.page-project-overview .my-tickets-group h3 {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 700;
    color: #3E5144;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.page-project-overview .my-tickets-days-select {
    min-width: 86px;
    height: 28px;
    border: 1px solid rgba(86, 112, 93, 0.28);
    border-radius: 999px;
    background: #ffffff;
    color: #3E5144;
    font: inherit;
    font-weight: 700;
    padding: 2px 26px 2px 10px;
    cursor: pointer;
}

.page-project-overview .my-tickets-days-select:focus {
    outline: none;
    border-color: #56705D;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.14);
}

.page-project-overview .my-tickets-days-select:disabled {
    cursor: wait;
    opacity: 0.65;
}

.page-project-overview .my-tickets-empty {
    margin: 0;
    color: #6b7280;
    font-size: 0.86rem;
    line-height: 1.4;
}

.page-project-overview .my-tickets-grid {
    --my-ticket-grid-gap: 8px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--my-ticket-grid-gap);
    align-items: start;
    align-content: flex-start;
    min-width: 0;
}

.page-project-overview .my-tickets-grid > .my-ticket-card--has-children {
    grid-column: 1 / -1;
}

.page-project-overview .my-ticket-card {
    --my-ticket-card-bg: var(--pc-level-task-bg);
    position: relative;
    display: grid;
    gap: 4px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 32px 10px 8px;
    border: 1px solid rgba(var(--pc-level-task-rgb), 0.8);
    border-radius: 10px;
    background: var(--my-ticket-card-bg);
    color: var(--pc-level-task-text);
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.page-project-overview .my-ticket-card--has-children {
    align-content: flex-start;
}

.page-project-overview .my-ticket-card-main {
    display: grid;
    gap: 4px;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.page-project-overview .my-ticket-card-children {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(86, 112, 93, 0.18);
}

.page-project-overview .my-ticket-card-children > .my-ticket-card--has-children {
    grid-column: 1 / -1;
}

.page-project-overview .my-ticket-card.my-ticket-card--subtask {
    --my-ticket-card-bg: var(--pc-level-subtask-bg);
    border-color: rgba(var(--pc-level-subtask-rgb), 0.82);
    background: var(--my-ticket-card-bg);
    color: var(--pc-level-subtask-text);
}

.page-project-overview .my-ticket-card.my-ticket-card--work {
    --my-ticket-card-bg: var(--pc-level-work-bg);
    border-color: rgba(var(--pc-level-work-rgb), 0.92);
    background: var(--my-ticket-card-bg);
    color: var(--pc-level-work-text);
}

.page-project-overview .my-ticket-card.my-ticket-card--priority-high,
.page-project-overview .my-ticket-card.my-ticket-card--priority-critical {
    border: 3px solid transparent;
    background:
        linear-gradient(var(--my-ticket-card-bg), var(--my-ticket-card-bg)) padding-box,
        conic-gradient(
            from 0deg,
            var(--my-ticket-priority-border-a),
            var(--my-ticket-priority-border-b),
            var(--my-ticket-priority-border-c),
            var(--my-ticket-priority-border-a)
        ) border-box;
}

.page-project-overview .my-ticket-card.my-ticket-card--priority-high {
    --my-ticket-priority-border-a: #f59e0b;
    --my-ticket-priority-border-b: #fb7185;
    --my-ticket-priority-border-c: #f97316;
}

.page-project-overview .my-ticket-card.my-ticket-card--priority-critical {
    --my-ticket-priority-border-a: #7f1d1d;
    --my-ticket-priority-border-b: #ef4444;
    --my-ticket-priority-border-c: #b91c1c;
}

.page-project-overview .my-ticket-card:hover,
.page-project-overview .my-ticket-card:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
    border-color: rgba(var(--pc-level-task-rgb), 1);
}

.page-project-overview .my-ticket-card.my-ticket-card--subtask:hover,
.page-project-overview .my-ticket-card.my-ticket-card--subtask:focus-visible {
    border-color: rgba(var(--pc-level-subtask-rgb), 1);
}

.page-project-overview .my-ticket-card.my-ticket-card--work:hover,
.page-project-overview .my-ticket-card.my-ticket-card--work:focus-visible {
    border-color: rgba(var(--pc-level-work-rgb), 1);
}

.page-project-overview .my-ticket-card.my-ticket-card--priority-high:hover,
.page-project-overview .my-ticket-card.my-ticket-card--priority-high:focus-visible,
.page-project-overview .my-ticket-card.my-ticket-card--priority-critical:hover,
.page-project-overview .my-ticket-card.my-ticket-card--priority-critical:focus-visible {
    border-color: transparent;
}

.page-project-overview .my-ticket-card-corner-meta {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: inline-flex;
    align-items: stretch;
    max-width: calc(100% - 12px);
}

.page-project-overview .my-ticket-card-name,
.page-project-overview .my-ticket-card-dates {
    position: relative;
    z-index: 2;
}

.page-project-overview .my-ticket-card-id,
.page-project-overview .my-ticket-card-status-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    background: #ffffff;
    color: #111827;
    border-right: 1px solid #d1d5db;
    border-bottom: 1px solid #d1d5db;
    box-sizing: border-box;
}

.page-project-overview .my-ticket-card-id {
    max-width: 132px;
    padding: 2px 8px;
    border-top-left-radius: 9px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.1;
}

.page-project-overview .my-ticket-card-status-box {
    width: 24px;
    min-width: 24px;
    padding: 0;
    border-bottom-right-radius: 8px;
    font-size: 0.72rem;
    line-height: 1;
}

.page-project-overview .my-ticket-card-status-box i {
    color: #111827;
    line-height: 1;
}

.page-project-overview .my-ticket-card-name {
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.2;
    color: inherit;
}

.page-project-overview .my-ticket-card-dates {
    display: grid;
    gap: 0;
    font-size: 0.72rem;
    line-height: 1.25;
    color: inherit;
    opacity: 0.84;
}

@media (max-width: 1180px) {
    .page-project-overview .project-overview-ticket-panels {
        grid-template-columns: 1fr;
    }
}

.page-project-overview .project-announcements-inline {
    display: grid;
    gap: 8px;
    width: 100%;
}

.page-project-overview .project-announcements-list {
    display: grid;
    gap: 6px;
    width: 100%;
}

.page-project-overview .project-announcement-card {
    display: grid;
    gap: 5px;
    padding: 8px 10px;
    border: 1px solid #56705D;
    border-radius: 14px;
    background: #56705D;
    color: #ffffff;
}

.page-project-overview .project-announcement-card[hidden] {
    display: none !important;
}

.page-project-overview .project-announcement-card-important {
    border-color: #b42318;
    background: #b42318;
    color: #ffffff;
}

.page-project-overview .project-announcement-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.page-project-overview .project-announcement-text {
    margin: 0;
    color: inherit;
    font-weight: 600;
    font-size: 0.72rem;
    line-height: 1.15;
}

.page-project-overview .project-announcement-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px 12px;
    font-size: 0.64rem;
    line-height: 1.15;
    color: rgba(255, 255, 255, 0.88);
}

.page-project-overview .project-announcements-more-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: -2px;
}

.page-project-overview .project-announcements-more-wrap[hidden],
.page-project-overview .project-announcements-more-btn[hidden] {
    display: none !important;
}

.page-project-overview .project-announcements-more-btn {
    width: 72px;
    min-width: 72px;
    height: 26px;
    min-height: 26px;
    padding: 0 14px;
    border-radius: 12px;
    border-color: #cfd8c8;
    color: #3E5144;
    background: #ffffff;
}

.page-project-overview .project-announcements-form {
    --announcement-input-height: 42px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.page-project-overview .project-announcements-input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: var(--announcement-input-height);
    padding: 0 14px;
    border: 1px solid #d7dde6;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    color: #1f2937;
    font-size: 0.74rem;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.page-project-overview .project-announcements-input::placeholder {
    color: #94a3b8;
}

.page-project-overview .project-announcements-input:hover {
    border-color: #c7d2de;
}

.page-project-overview .project-announcements-input:focus {
    outline: none;
    border-color: #6B8470;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(107, 132, 112, 0.14), 0 12px 28px rgba(15, 23, 42, 0.08);
}

.page-project-overview .project-announcements-submit {
    width: var(--announcement-input-height);
    min-width: var(--announcement-input-height);
    height: var(--announcement-input-height);
    padding: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 24px rgba(86, 112, 93, 0.18);
}

.page-project-overview .project-announcements-important-toggle {
    width: var(--announcement-input-height);
    min-width: var(--announcement-input-height);
    height: var(--announcement-input-height);
    padding: 0;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.page-project-overview .project-announcements-important-toggle.is-active {
    border-color: #b42318;
    background: #b42318;
    color: #ffffff;
}

.page-project-overview .project-announcements-important-toggle.is-active:hover {
    border-color: #8f1a12;
    background: #8f1a12;
    color: #ffffff;
}

.page-project-overview .project-announcements-empty,
.page-project-overview .project-announcements-error {
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.25;
    color: #64748b;
}

.page-project-overview .project-announcements-notice {
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 0.92rem;
    font-weight: 600;
}

.page-project-overview .project-announcements-notice.ok {
    background: rgba(111, 163, 96, 0.12);
    color: #355C34;
}

.page-project-overview .project-announcements-notice.error {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
}

.page-project-overview.project-announcement-delete-modal-open {
    overflow: hidden;
}

.page-project-overview .project-announcement-delete-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 5250;
}

.page-project-overview .project-announcement-delete-modal-shell[hidden] {
    display: none;
}

.page-project-overview .project-announcement-delete-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.page-project-overview .project-announcement-delete-modal-card {
    position: relative;
    width: min(560px, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
    margin: 12px auto;
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-project-overview .project-announcement-delete-modal-head {
    padding: 20px 22px 0;
}

.page-project-overview .project-announcement-delete-modal-head h2 {
    margin: 0;
    font-size: 1.05rem;
}

.page-project-overview .project-announcement-delete-modal-body {
    padding: 18px 22px 0;
}

.page-project-overview .project-announcement-delete-modal-body p {
    margin: 0;
    line-height: 1.5;
    color: #334155;
}

.page-project-overview .project-announcement-delete-modal-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 20px 22px 22px;
}

.page-project-overview .project-announcement-delete-modal-actions form {
    margin: 0;
}

.page-project-overview .project-log-panel {
    border: 1px solid #CED5BF;
    border-radius: 12px;
    background: #E9EEE1;
    padding: 10px;
    display: grid;
    gap: 10px;
}

.page-project-overview .project-log-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
}

.page-project-overview .project-log-head {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.page-project-overview .project-log-head h2 {
    margin: 0;
    font-size: 0.95rem;
}

.page-project-overview .project-log-expand-btn {
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
}

.page-project-overview .project-log-expand-btn i {
    font-size: 0.95rem;
    line-height: 1;
}

.page-project-overview .project-log-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.page-project-overview .project-log-panel .project-log-tabs {
    flex: 1;
    min-width: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
}

.page-project-overview .project-log-panel .project-log-tab {
    flex: 0 0 auto;
}

.page-project-overview .project-log-tab {
    border: 1px solid #c8d1dc;
    border-radius: 999px;
    background: #ffffff;
    color: #1b1f24;
    font-size: 0.8rem;
    line-height: 1.2;
    font-weight: 600;
    padding: 6px 10px;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.page-project-overview .project-log-tab:hover {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.page-project-overview .project-log-tab.is-active {
    border-color: #56705D;
    background: #56705D;
    color: #ffffff;
}

.page-project-overview .project-log-list-wrap {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    background: #ffffff;
    max-height: calc(220px / 3);
    overflow: auto;
}

.page-project-overview .project-log-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.page-project-overview .project-log-row {
    margin: 0;
    padding: 0;
    font-size: 0.86rem;
    line-height: 1.38;
}

.page-project-overview .project-log-row:nth-child(odd) {
    background: rgba(86, 112, 93, 0.10);
}

.page-project-overview .project-log-row:nth-child(even) {
    background: rgba(86, 112, 93, 0.18);
}

.page-project-overview .project-log-row-link,
.page-project-overview .project-log-row-text {
    display: block;
    padding: 8px 10px;
    color: #0f172a;
    text-decoration: none;
    word-break: break-word;
}

.page-project-overview .project-log-row-content {
    display: inline;
    line-height: 1.38;
}

.page-project-overview .project-log-date {
    color: #475569;
    font-weight: 500;
}

.page-project-overview .project-log-actor {
    color: #56705D;
    font-weight: 700;
}

.page-project-overview .project-log-text {
    color: #0f172a;
}

.page-project-overview .project-log-ref {
    color: #56705D;
    font-style: italic;
    font-weight: 600;
}

.page-project-overview .project-log-row.is-clickable .project-log-row-link:hover {
    background: rgba(255, 255, 255, 0.46);
}

.page-project-overview .project-log-empty {
    margin: 0;
    padding: 10px;
    font-size: 0.86rem;
    color: #4b5563;
}

.page-project-overview .project-custom-lists-surface {
    margin-top: 12px;
    display: grid;
    gap: 12px;
}

.page-project-overview .project-custom-lists-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.page-project-overview .project-custom-lists-title-wrap {
    min-width: 0;
}

.page-project-overview .project-custom-lists-title {
    margin: 0;
    font-size: 1.14rem;
    color: #111827;
}

.page-project-overview .project-custom-lists-subline {
    margin: 6px 0 0;
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.45;
}

.page-project-overview .project-custom-lists-notice,
.page-project-overview .project-custom-lists-error {
    border: 1px solid #d8dee6;
    border-radius: 10px;
    padding: 9px 11px;
    font-size: 0.9rem;
    line-height: 1.35;
}

.page-project-overview .project-custom-lists-notice.ok {
    border-color: #abd8be;
    background: #ecfdf3;
    color: #166534;
}

.page-project-overview .project-custom-lists-notice.error,
.page-project-overview .project-custom-lists-error {
    border-color: #efc1bf;
    background: #fff5f5;
    color: #9f1239;
}

.page-project-overview .project-custom-lists-empty {
    margin: 0;
    font-size: 0.9rem;
    color: #4b5563;
}

.page-project-overview .project-custom-lists-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.page-project-overview .project-custom-list-card {
    border: 1px solid #CED5BF;
    border-radius: 12px;
    background: #E9EEE1;
    padding: 12px;
    display: grid;
    gap: 10px;
    min-width: 0;
}

.page-project-overview .project-custom-list-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.page-project-overview .project-custom-list-card-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.page-project-overview .project-custom-list-card-title-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}

.page-project-overview .project-custom-list-card-title-wrap h3 {
    margin: 0;
    font-size: 1rem;
    color: #0f172a;
    word-break: break-word;
}

.page-project-overview .project-custom-list-object-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1;
    border-radius: 999px;
    padding: 4px 8px;
    white-space: nowrap;
}

.page-project-overview .project-custom-list-delete-form {
    margin: 0;
    flex: 0 0 auto;
}

.page-project-overview .project-custom-list-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.page-project-overview .project-custom-list-chip {
    display: inline-flex;
    align-items: center;
    border: 1px solid #CED5BF;
    background: #ffffff;
    color: #334155;
    border-radius: 999px;
    padding: 3px 7px;
    font-size: 0.64rem;
    line-height: 1.1;
}

.page-project-overview .project-custom-list-chip-btn {
    appearance: none;
    cursor: pointer;
    font: inherit;
}

.page-project-overview .project-custom-list-chip-btn:hover,
.page-project-overview .project-custom-list-chip-btn:focus-visible {
    cursor: pointer;
    border-color: #9ca3af;
    outline: none;
}

.page-project-overview .project-custom-list-table-wrap {
    margin-top: 2px;
    border-radius: 10px;
}

.page-project-overview .project-custom-list-table th:first-child,
.page-project-overview .project-custom-list-table td:first-child {
    width: 125px;
}

.page-project-overview .project-custom-list-table th:last-child,
.page-project-overview .project-custom-list-table td:last-child {
    width: 78px;
    text-align: center;
}

.page-project-overview .project-custom-list-table td {
    white-space: normal;
    word-break: break-word;
}

.page-project-overview .project-list-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 5120;
}

.page-project-overview .project-list-modal-shell[hidden] {
    display: none;
}

.page-project-overview .project-list-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.52);
}

.page-project-overview .project-list-modal-card {
    position: relative;
    width: min(780px, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
    margin: 12px auto;
    background: #ffffff;
    border: 1px solid #dde4ec;
    border-radius: 20px;
    box-shadow: 0 28px 60px rgba(15, 23, 42, 0.2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-project-overview .project-list-modal-head {
    padding: 12px 14px 8px;
    border-bottom: 1px solid #edf1f6;
}

.page-project-overview .project-list-modal-head h2 {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #0f172a;
}

.page-project-overview .project-list-modal-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.page-project-overview .project-list-modal-body {
    padding: 10px 14px;
    overflow: auto;
}

.page-project-overview .project-list-form-grid {
    display: grid;
    gap: 10px;
}

.page-project-overview .project-list-title-row,
.page-project-overview .project-list-grid-3,
.page-project-overview .project-list-grid-2,
.page-project-overview .project-list-grid-1 {
    display: grid;
    gap: 10px;
}

.page-project-overview .project-list-grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.page-project-overview .project-list-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-project-overview .project-list-grid-1 {
    grid-template-columns: minmax(0, 1fr);
}

.page-project-overview .project-list-field-card {
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid #e1e8f0;
    border-radius: 16px;
    background: linear-gradient(180deg, #fbfdff 0%, #f7fafc 100%);
    min-width: 0;
}

.page-project-overview .project-list-field-card-full {
    grid-column: 1 / -1;
}

.page-project-overview .project-list-title-row {
    gap: 6px;
}

.page-project-overview .project-list-title-row .field-label {
    font-size: 0.77rem;
}

.page-project-overview .project-list-title-input {
    min-height: 46px;
    padding: 0 14px;
    border-radius: 14px;
    font-size: 1.02rem;
    font-weight: 700;
}

.page-project-overview .project-list-modal-card .field-label {
    display: inline-flex;
    align-items: center;
    margin: 0;
    font-size: 0.74rem;
    font-weight: 600;
    color: #475467;
}

.page-project-overview .project-list-modal-card .text-input,
.page-project-overview .project-list-modal-card .select-input {
    width: 100%;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid #d5dde6;
    border-radius: 12px;
    background: #ffffff;
    color: #0f172a;
    box-sizing: border-box;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.page-project-overview .project-list-modal-card .text-input:focus,
.page-project-overview .project-list-modal-card .select-input:focus {
    outline: none;
    border-color: #7a9b59;
    box-shadow: 0 0 0 3px rgba(122, 155, 89, 0.16);
}

.page-project-overview .project-list-modal-card .select-input {
    appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position: calc(100% - 16px) calc(50% - 1px), calc(100% - 11px) calc(50% - 1px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-right: 30px;
}

.page-project-overview .project-list-filter-group {
    gap: 6px;
}

.page-project-overview .project-list-field-stack,
.page-project-overview .project-list-subfield {
    display: grid;
    gap: 6px;
}

.page-project-overview .project-list-range-fields {
    display: grid;
    gap: 6px;
}

.page-project-overview .project-list-range-fields.is-between {
    grid-template-columns: minmax(0, 1fr);
}

.page-project-overview .project-list-status-grid {
    border: 1px solid #d5dde6;
    border-radius: 12px;
    background: #ffffff;
    max-height: 150px;
    overflow: auto;
    padding: 5px;
    display: grid;
    gap: 4px;
}

.page-project-overview .project-list-status-option {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 28px;
    padding: 3px 6px;
    border-radius: 8px;
    color: #1f2937;
    font-size: 0.83rem;
}

.page-project-overview .project-list-status-option:hover {
    background: #eef4e6;
}

.page-project-overview .project-list-status-option input[type="checkbox"] {
    width: 15px;
    height: 15px;
    margin: 0;
    flex: 0 0 auto;
}

.page-project-overview .project-list-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 10px 14px 12px;
    border-top: 1px solid #edf1f6;
}

:is(.page-project-overview, .project-requirements-panel) .btn-danger-soft {
    border-color: #efc1bf;
    color: #b42318;
    background: #fff5f5;
}

:is(.page-project-overview, .project-requirements-panel) .btn-danger-soft:hover {
    border-color: #e88984;
    background: #feeceb;
}

.page-project-overview .btn-danger-solid {
    border-color: #b42318;
    color: #ffffff;
    background: #b42318;
}

.page-project-overview .btn-danger-solid:hover {
    border-color: #8f1a12;
    background: #8f1a12;
}

.page-project-overview .project-workspace-surface {
    margin-top: 12px;
}

.page-project-overview .project-workspace-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.page-project-overview .project-meetings-panel {
    box-sizing: border-box;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #f8fafc;
    padding: 12px;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 10px;
    align-self: start;
    min-height: 0;
    overflow: hidden;
}

.page-project-overview .project-meetings-head {
    display: grid;
    gap: 8px;
}

.page-project-overview .project-meetings-panel h2 {
    margin: 0;
    font-size: 1.02rem;
}

.page-project-overview .project-meeting-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 4px;
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: #ffffff;
}

.page-project-overview .project-meeting-tab {
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #475569;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 7px 10px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.page-project-overview .project-meeting-tab:hover,
.page-project-overview .project-meeting-tab:focus-visible {
    background: #f8fafc;
    color: #1f2937;
    outline: none;
}

.page-project-overview .project-meeting-tab.is-active {
    background: #ecfdf3;
    color: #166534;
    box-shadow: inset 0 0 0 1px #abd8be;
}

.page-project-overview .project-meetings-panel-body {
    box-sizing: border-box;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    min-height: 0;
    height: 100%;
    padding: 8px 8px 16px;
    display: block;
    overflow: auto;
}

.page-project-overview .project-meetings-tab-panel {
    display: grid;
    gap: 6px;
    align-content: start;
    min-height: 100%;
}

.page-project-overview .project-meetings-tab-panel [data-project-meeting-item][hidden] {
    display: none !important;
}

.page-project-overview .project-meetings-tab-panel[hidden] {
    display: none !important;
}

.page-project-overview .project-meetings-empty {
    margin: 0;
    padding: 4px;
    color: #4b5563;
    font-size: 0.88rem;
}

.page-project-overview .project-meeting-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: #f8fafc;
    padding: 7px 9px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.page-project-overview .project-meeting-card:hover,
.page-project-overview .project-meeting-card:focus-visible {
    border-color: #9fb6ca;
    box-shadow: 0 0 0 2px rgba(86, 112, 93, 0.12);
    outline: none;
}

.page-project-overview .project-meeting-card.is-related {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.page-project-overview .project-meeting-card.is-neutral {
    border-color: #d1d5db;
    background: #f3f4f6;
}

.page-project-overview .project-meeting-card-main {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.page-project-overview .project-meeting-card-name {
    color: #111827;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.25;
    word-break: break-word;
}

.page-project-overview .project-meeting-card.is-related .project-meeting-card-name {
    color: #166534;
}

.page-project-overview .project-meeting-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
    white-space: nowrap;
    color: #475569;
    font-size: 0.74rem;
    line-height: 1.25;
}

.page-project-overview .project-meeting-card-meta.is-protocol {
    flex-wrap: wrap;
    white-space: normal;
    gap: 4px 10px;
}

.page-project-overview .project-meeting-card-protocol {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border: 1px solid transparent;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #166534;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.page-project-overview .project-meeting-card-protocol.is-static {
    pointer-events: none;
}

.page-project-overview .project-meeting-card.is-neutral .project-meeting-card-protocol {
    color: #4b5563;
}

.page-project-overview .project-meeting-card-protocol:hover,
.page-project-overview .project-meeting-card-protocol:focus-visible {
    border-color: #cbd5e1;
    background: rgba(255, 255, 255, 0.65);
    outline: none;
}

.page-project-overview .project-meeting-card-protocol i {
    font-size: 1rem;
}

.page-project-overview .project-meeting-load-more-btn {
    border: 0;
    background: transparent;
    color: #166534;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.25;
    padding: 4px 2px 2px;
    text-align: left;
    cursor: pointer;
}

.page-project-overview .project-meeting-load-more-btn:hover,
.page-project-overview .project-meeting-load-more-btn:focus-visible {
    color: #14532d;
    text-decoration: underline;
    outline: none;
}

.page-project-overview .project-meetings-placeholder {
    margin: 0;
    color: #4b5563;
    font-size: 0.88rem;
    text-align: center;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-panel {
    box-sizing: border-box;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #f8fafc;
    padding: 12px;
    display: grid;
    gap: 10px;
    align-self: start;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-head h2 {
    margin: 0;
    font-size: 1.02rem;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-upload-form {
    margin-top: 10px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-input {
    display: none;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-upload-btn {
    width: 100%;
    justify-content: center;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-notice {
    border: 1px solid #d8dee6;
    border-radius: 10px;
    padding: 9px 11px;
    font-size: 0.9rem;
    line-height: 1.35;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-notice.ok {
    border-color: #abd8be;
    background: #ecfdf3;
    color: #166534;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-notice.error {
    border-color: #efc1bf;
    background: #fff5f5;
    color: #9f1239;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-body {
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    min-height: 240px;
    padding: 10px;
    overflow: auto;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-message {
    margin: 0;
    color: #4b5563;
    font-size: 0.88rem;
}

:is(.page-project-overview, .project-requirements-panel) .project-files-message.is-error {
    color: #9f1239;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-group + .project-file-group {
    margin-top: 12px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-group-title {
    margin: 0 0 7px;
    font-size: 0.82rem;
    color: #475569;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-group-title i {
    font-size: 0.9rem;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-item {
    border: 1px solid #e5e7eb;
    border-radius: 9px;
    padding: 8px 9px;
    display: grid;
    gap: 5px;
    background: #f8fafc;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-row-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-name-wrap {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    color: #111827;
    min-width: 0;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-name {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-version-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 1px 7px;
    font-size: 0.72rem;
    color: #334155;
    background: #ffffff;
    font-weight: 700;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-project-overview .btn-small {
    padding: 7px 10px;
    font-size: 0.82rem;
}

.page-project-overview .icon-btn-square {
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 9px;
}

/* Shared meeting ticket search: keep the action reachable in scrollable tables. */
:where(#meeting-ticket-picker-modal) tbody { background-color: #fff; }
:where(#meeting-ticket-picker-modal) tbody tr,
:where(#meeting-ticket-picker-modal) tbody td {
    /* Opaque row-matched cells prevent scrolled text showing through sticky actions.
       Existing status, selection and hover rules retain their higher specificity. */
    background-color: inherit;
}
#meeting-ticket-picker-modal .active-phase-task-row.is-warning > td {
    background-color: color-mix(in srgb, #facc15 20%, white);
}
#meeting-ticket-picker-modal .active-phase-task-row.is-warning:hover > td {
    background-color: color-mix(in srgb, #facc15 28%, white);
}
#meeting-ticket-picker-modal .active-phase-task-table .ticket-picker-action-cell {
    position: sticky;
    right: 0;
    z-index: 2;
    box-sizing: border-box;
    width: 54px;
    min-width: 54px;
    padding: 6px 10px;
    text-align: center;
    vertical-align: middle;
    overflow: visible;
    text-overflow: clip;
    /* No separate fill: use the same row/status/hover backgrounds as the other cells. */
    box-shadow: -1px 0 #d8e2d5;
}
#meeting-ticket-picker-modal .ticket-picker-open-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 34px;
    min-height: 34px;
    text-decoration: none;
}
#meeting-ticket-picker-modal .ticket-task-table .ticket-picker-action-cell {
    width: 94px;
    min-width: 94px;
    white-space: nowrap;
    text-align: right;
}
#meeting-ticket-picker-modal .ticket-picker-action-cell .ticket-expand-btn {
    box-sizing: border-box;
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    margin-right: 6px;
    vertical-align: middle;
}
#meeting-ticket-picker-modal .ticket-picker-action-cell .ticket-picker-open-link {
    vertical-align: middle;
}
#meeting-ticket-picker-modal .ticket-expand-btn:focus-visible,
#meeting-ticket-picker-modal .ticket-picker-open-link:focus-visible {
    outline: 2px solid #56705d;
    outline-offset: 2px;
}

.page-project-overview .project-announcement-delete-btn {
    width: 17px;
    height: 17px;
    min-width: 17px;
    padding: 0;
    border-radius: 5px;
}

.page-project-overview .project-announcement-delete-btn i {
    font-size: 0.62rem;
    line-height: 1;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-download-btn {
    text-decoration: none;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #6b7280;
    font-size: 0.78rem;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-history {
    margin-top: 6px;
    border: 1px solid #d8dee6;
    border-radius: 8px;
    background: #ffffff;
    padding: 8px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-history-head {
    font-size: 0.76rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 6px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-history-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-history-item {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 6px 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-history-info {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.76rem;
    color: #475569;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-history-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-history-version {
    font-weight: 700;
    color: #1f2937;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-history-empty {
    margin: 0;
    font-size: 0.78rem;
    color: #6b7280;
}

.page-project-overview.project-file-delete-modal-open {
    overflow: hidden;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 5250;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-shell[hidden] {
    display: none;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-card {
    position: relative;
    width: min(560px, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
    margin: 12px auto;
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-head {
    padding: 14px 16px 10px;
    border-bottom: 1px solid #edf1f6;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-head h2 {
    margin: 0;
    font-size: 1.02rem;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-body {
    padding: 12px 16px;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-confirm-text {
    margin: 0;
    font-size: 0.95rem;
    color: #1f2937;
    line-height: 1.45;
}

:is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    padding: 10px 16px 14px;
    border-top: 1px solid #edf1f6;
}

.page-project-overview .status-card {
    border: 1px solid #CED5BF;
    border-radius: 12px;
    background: linear-gradient(160deg, #E9EEE1 0%, #E9EEE1 100%);
    padding: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
}

.page-project-overview .meta-label {
    display: block;
    font-size: 0.82rem;
    color: #6b7280;
}

.page-project-overview .status-card.is-clickable {
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.page-project-overview .status-card.is-clickable:hover,
.page-project-overview .status-card.is-clickable:focus-visible {
    border-color: #CED5BF;
    box-shadow: 0 0 0 2px rgba(86, 112, 93, 0.16);
    outline: none;
}

.page-project-overview .status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 6px 11px;
    font-size: 0.82rem;
    font-weight: 700;
    background: #E9EEE1;
    color: #56705D;
    width: fit-content;
}

.page-project-overview .status-value {
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
    color: #56705D;
}

.page-project-overview .status-detail {
    margin-top: 6px;
    font-size: 0.8rem;
    line-height: 1.35;
    color: #4b5563;
}

.page-project-overview.phase-report-modal-open {
    overflow: hidden;
}

.page-project-overview.project-info-modal-open {
    overflow: hidden;
}

.page-project-overview.project-log-modal-open {
    overflow: hidden;
}

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

.project-notification-shell {
    position: fixed;
    inset: 0;
    z-index: 26000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 74px 14px 14px;
    pointer-events: none;
}

.project-notification-shell[hidden] {
    display: none;
}

.project-notification-shell.is-open {
    pointer-events: auto;
}

.project-notification-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    opacity: 0;
    transition: opacity 0.18s ease;
}

.project-notification-shell.is-open .project-notification-backdrop {
    opacity: 1;
}

.project-notification-card {
    position: relative;
    width: min(880px, calc(100vw - 20px));
    max-height: calc(100vh - 96px);
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.27);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: translateY(-30px);
    opacity: 0;
    transition: transform 0.18s ease, opacity 0.18s ease;
}

.project-notification-shell.is-open .project-notification-card {
    transform: translateY(0);
    opacity: 1;
}

.project-notification-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px 10px;
    border-bottom: 1px solid #edf1f6;
}

.project-notification-title-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.project-notification-head h2 {
    margin: 0;
    font-size: 1.02rem;
}

.project-notification-tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.project-notification-tab {
    appearance: none;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    color: #58745e;
    cursor: pointer;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    min-height: 28px;
    padding: 6px 12px;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.project-notification-tab:hover {
    background: #eef4ed;
    border-color: #b9c9b8;
}

.project-notification-tab.is-active {
    background: #58745e;
    border-color: #58745e;
    color: #ffffff;
}

.project-notification-head-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.project-notification-read-all-btn {
    white-space: nowrap;
}

.project-notification-close-btn {
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
}

.project-notification-close-btn i {
    font-size: 0.94rem;
    line-height: 1;
}

.project-notification-body {
    padding: 12px 14px 14px;
    display: grid;
    gap: 10px;
    overflow: auto;
}

.project-notification-feature-note {
    margin: 0;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff1f2;
    color: #9f1239;
    font-size: 0.86rem;
    padding: 10px 12px;
}

.project-notification-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.project-notification-item {
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: #ffffff;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: stretch;
}

.project-notification-item.is-unread {
    background: #f4f8f4;
    border-color: #CED5BF;
}

.project-notification-row-btn {
    width: 100%;
    border: 0;
    background: transparent;
    color: #111827;
    text-align: left;
    cursor: pointer;
    padding: 10px 12px;
    display: grid;
    gap: 3px;
}

.project-notification-row-btn:hover {
    background: #f8fafc;
}

.project-notification-item.is-unread .project-notification-row-btn:hover {
    background: #E9EEE1;
}

.project-notification-time {
    font-size: 0.76rem;
    color: #6b7280;
    font-weight: 600;
}

.project-notification-comment {
    font-size: 0.9rem;
    color: #0f172a;
    line-height: 1.42;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.project-notification-detail {
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.35;
}

.project-notification-creator {
    font-size: 0.82rem;
    color: #334155;
    font-weight: 600;
}

.project-notification-read-btn {
    align-self: center;
    margin-right: 8px;
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
}

.project-notification-read-btn i {
    font-size: 0.93rem;
    line-height: 1;
}

.project-notification-empty {
    margin: 0;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    color: #64748b;
    font-size: 0.9rem;
    padding: 12px;
}

.page-project-overview .project-info-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 5100;
}

.page-project-overview .project-info-modal-shell[hidden] {
    display: none;
}

.page-project-overview .project-info-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}

.page-project-overview .project-info-modal-card {
    position: relative;
    width: min(560px, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
    margin: 12px auto;
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-project-overview .project-info-modal-head {
    padding: 14px 16px 10px;
    border-bottom: 1px solid #edf1f6;
}

.page-project-overview .project-info-modal-head h2 {
    margin: 0;
    font-size: 1.02rem;
}

.page-project-overview .project-info-modal-body {
    padding: 12px 16px;
    overflow: auto;
}

.page-project-overview .project-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.page-project-overview .project-info-item {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #ffffff;
    padding: 9px 10px;
    display: grid;
    gap: 4px;
}

.page-project-overview .project-info-item-wide {
    grid-column: 1 / -1;
}

.page-project-overview .project-info-label {
    font-size: 0.8rem;
    color: #6b7280;
    line-height: 1.3;
}

.page-project-overview .project-info-value {
    font-size: 0.93rem;
    font-weight: 600;
    color: #111827;
    word-break: break-word;
}

.page-project-overview .project-info-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 10px 16px 14px;
    border-top: 1px solid #edf1f6;
}

.page-project-overview .project-log-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 5150;
}

.page-project-overview .project-log-modal-shell[hidden] {
    display: none;
}

.page-project-overview .project-log-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.52);
}

.page-project-overview .project-log-modal-card {
    position: relative;
    width: min(1120px, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
    margin: 12px auto;
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-project-overview .project-log-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px 10px;
    border-bottom: 1px solid #edf1f6;
}

.page-project-overview .project-log-modal-head h2 {
    margin: 0;
    font-size: 1.02rem;
}

.page-project-overview .project-log-modal-close-btn {
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
}

.page-project-overview .project-log-modal-close-btn i {
    font-size: 0.94rem;
    line-height: 1;
}

.page-project-overview .project-log-modal-body {
    padding: 12px 14px 14px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 12px;
    overflow: hidden;
}

.page-project-overview .project-log-modal-main {
    min-width: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
}

.page-project-overview .project-log-modal-tabs {
    gap: 7px;
}

.page-project-overview .project-log-modal-tab {
    border: 1px solid #c8d1dc;
    border-radius: 999px;
    background: #ffffff;
    color: #1b1f24;
    font-size: 0.8rem;
    line-height: 1.2;
    font-weight: 600;
    padding: 6px 10px;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.page-project-overview .project-log-modal-tab:hover {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.page-project-overview .project-log-modal-tab.is-active {
    border-color: #56705D;
    background: #56705D;
    color: #ffffff;
}

.page-project-overview .project-log-modal-list-wrap {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    background: #ffffff;
    max-height: calc(100vh - 260px);
    min-height: 280px;
    overflow: auto;
}

.page-project-overview .project-log-modal-list-wrap:has(> .project-log-modal-empty:not([hidden])) {
    max-height: none;
}

.page-project-overview .project-log-modal-list .project-log-row-link,
.page-project-overview .project-log-modal-list .project-log-row-text {
    padding: 9px 10px;
}

.page-project-overview .project-log-modal-more-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.page-project-overview .project-log-modal-more-wrap > .btn[hidden] {
    display: none;
}

.page-project-overview .project-log-modal-filters {
    border: 1px solid #CED5BF;
    border-radius: 12px;
    background: #E9EEE1;
    padding: 10px;
    display: grid;
    gap: 11px;
    align-content: start;
    max-height: calc(100vh - 260px);
    overflow: auto;
}

.page-project-overview .project-log-modal-filters h3 {
    margin: 0;
    font-size: 0.93rem;
}

.page-project-overview .project-log-filter-group {
    display: grid;
    gap: 6px;
}

.page-project-overview .project-log-filter-group label {
    font-size: 0.79rem;
    color: #4b5563;
    font-weight: 600;
}

.page-project-overview .project-log-modal-filters .text-input {
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid #c8d1dc;
    border-radius: 10px;
    box-sizing: border-box;
    background: #ffffff;
    color: #111827;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.page-project-overview .project-log-modal-filters .text-input:focus {
    border-color: #56705D;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.18);
    outline: none;
}

.page-project-overview .project-log-date-grid {
    display: grid;
    gap: 6px;
}

.page-project-overview .project-log-suggest-wrap {
    position: relative;
    width: 100%;
}

.page-project-overview .project-log-suggest-wrap .text-input {
    width: 100%;
}

.page-project-overview .project-log-suggestions {
    position: absolute;
    z-index: 5;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    margin: 0;
    padding: 5px;
    list-style: none;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.16);
    max-height: 180px;
    overflow: auto;
}

.page-project-overview .project-log-suggestions[hidden] {
    display: none;
}

.page-project-overview .project-log-suggestion-item {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #0f172a;
    font-size: 0.84rem;
    line-height: 1.3;
    text-align: left;
    padding: 6px 7px;
    cursor: pointer;
}

.page-project-overview .project-log-suggestion-item:hover,
.page-project-overview .project-log-suggestion-item:focus-visible {
    border-color: #CED5BF;
    background: #E9EEE1;
    outline: none;
}

.page-project-overview .project-log-filter-actions {
    display: flex;
    justify-content: flex-end;
}

.page-project-overview .project-log-filter-locked {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #6b7280;
}

@media (max-width: 980px) {
    .page-project-overview .project-log-modal-card {
        width: calc(100vw - 16px);
        max-height: calc(100vh - 16px);
        margin: 8px auto;
    }

    .page-project-overview .project-log-modal-body {
        grid-template-columns: minmax(0, 1fr);
        overflow: auto;
    }

    .page-project-overview .project-log-modal-list-wrap,
    .page-project-overview .project-log-modal-filters {
        max-height: none;
    }
}

.page-project-overview .phase-report-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 5200;
}

.page-project-overview .phase-report-modal-shell[hidden] {
    display: none;
}

.page-project-overview .phase-report-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.page-project-overview .phase-report-modal-card {
    position: relative;
    width: min(920px, calc(100vw - 26px));
    max-height: calc(100vh - 30px);
    margin: 15px auto;
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-project-overview .phase-report-modal-head {
    padding: 16px 18px 10px;
    border-bottom: 1px solid #edf1f6;
}

.page-project-overview .phase-report-modal-head h2 {
    margin: 0;
    font-size: 1.15rem;
}

.page-project-overview .phase-report-modal-subline {
    margin: 8px 0 0;
    font-size: 0.88rem;
    color: #4b5563;
}

.page-project-overview .phase-report-modal-body {
    padding: 12px 18px;
    overflow: auto;
    display: grid;
    gap: 14px;
}

.page-project-overview .phase-gantt-surface {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    padding: 12px;
    display: grid;
    gap: 10px;
}

.page-project-overview .phase-gantt-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.page-project-overview .phase-gantt-head h3 {
    margin: 0;
    font-size: 0.96rem;
    color: #111827;
}

.page-project-overview .phase-gantt-unit-field {
    display: grid;
    gap: 6px;
    font-size: 0.8rem;
    color: #4b5563;
}

.page-project-overview .phase-gantt-unit-field .select-input {
    min-width: 130px;
    font-size: 0.84rem;
}

.page-project-overview .phase-gantt-slider-wrap {
    display: grid;
    gap: 6px;
}

.page-project-overview .phase-gantt-slider-wrap label {
    font-size: 0.8rem;
    color: #4b5563;
}

.page-project-overview .phase-gantt-slider {
    width: 100%;
}

.page-project-overview .phase-gantt-meta {
    font-size: 0.82rem;
    color: #4b5563;
}

.page-project-overview .phase-gantt-chart {
    display: grid;
    gap: 8px;
}

.page-project-overview .phase-gantt-grid {
    position: relative;
    display: grid;
    gap: 8px;
}

.page-project-overview .phase-gantt-timeline {
    display: grid;
    grid-template-columns: repeat(var(--gantt-slots), minmax(42px, 1fr));
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
}

.page-project-overview .phase-gantt-slot {
    padding: 8px 6px;
    text-align: center;
    font-size: 0.75rem;
    color: #4b5563;
    background: #f8fafc;
    border-right: 1px solid #e5e7eb;
}

.page-project-overview .phase-gantt-slot:last-child {
    border-right: 0;
}

.page-project-overview .phase-gantt-slot span {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-project-overview .phase-gantt-slot.is-today {
    background: #E9EEE1;
    color: #56705D;
    font-weight: 700;
}

.page-project-overview .phase-gantt-rows {
    display: grid;
    gap: 7px;
}

.page-project-overview .phase-gantt-row {
    display: block;
}

.page-project-overview .phase-gantt-row-track {
    display: grid;
    grid-template-columns: repeat(var(--gantt-slots), minmax(42px, 1fr));
    min-height: 30px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background:
        repeating-linear-gradient(
            to right,
            transparent 0,
            transparent calc((100% / var(--gantt-slots)) - 1px),
            #E9EEE1 calc((100% / var(--gantt-slots)) - 1px),
            #E9EEE1 calc(100% / var(--gantt-slots))
        );
    align-items: center;
    padding: 3px;
    box-sizing: border-box;
    overflow: hidden;
}

.page-project-overview .phase-gantt-bar {
    height: 24px;
    border-radius: 8px;
    border: 1px solid #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    text-decoration: none;
    font-size: 0.76rem;
    line-height: 1;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-project-overview .phase-gantt-bar:hover {
    border-color: #56705D;
    box-shadow: 0 0 0 1px rgba(86, 112, 93, 0.2);
}

.page-project-overview .phase-gantt-bar.is-warning {
    border-color: #eab308;
    background: rgba(250, 204, 21, 0.2);
    color: #854d0e;
}

.page-project-overview .phase-gantt-bar.is-overdue {
    border-color: #fda4af;
    background: #fff1f2;
    color: #9f1239;
}

.page-project-overview .phase-gantt-bar.is-done {
    border-color: #d1d5db;
    background: #f3f4f6;
    color: #374151;
}

.page-project-overview .phase-gantt-bar.is-aborted {
    border-color: #f87171;
    background: repeating-linear-gradient(
        135deg,
        #ffffff 0 8px,
        #fee2e2 8px 16px
    );
    color: #991b1b;
}

.page-project-overview .phase-gantt-today-line {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #56705D;
    border-radius: 999px;
    opacity: 0.82;
    pointer-events: none;
    z-index: 2;
    transform: translateX(-1px);
}

.page-project-overview .phase-gantt-empty {
    margin: 0;
    font-size: 0.86rem;
    color: #4b5563;
}

.page-project-overview .phase-gantt-hover-note {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    pointer-events: none;
    z-index: 5300;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 8px 10px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
    font-size: 0.83rem;
    font-weight: 700;
    line-height: 1.35;
    max-width: min(320px, calc(100vw - 16px));
}

.page-project-overview .phase-gantt-hover-note.is-visible {
    display: block;
}

.page-project-overview .phase-gantt-hover-note.is-warning {
    color: #92400e;
}

.page-project-overview .phase-gantt-hover-note.is-overdue {
    color: #9f1239;
}

.page-project-overview .phase-report-group h3 {
    margin: 0 0 8px;
    font-size: 0.96rem;
}

.page-project-overview .phase-report-group.is-overdue h3 {
    color: #9f1239;
}

.page-project-overview .phase-report-group.is-warning h3 {
    color: #92400e;
}

.page-project-overview .phase-report-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.page-project-overview .phase-report-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 11px;
    border-radius: 10px;
    border: 1px solid #d8dee6;
    text-decoration: none;
    background: #ffffff;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.page-project-overview .phase-report-item:hover {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.page-project-overview .phase-report-item-icon {
    margin-top: 2px;
    font-size: 0.95rem;
    line-height: 1;
}

.page-project-overview .phase-report-item.is-overdue .phase-report-item-icon {
    color: #be123c;
}

.page-project-overview .phase-report-item.is-warning .phase-report-item-icon {
    color: #b45309;
}

.page-project-overview .phase-report-item-text {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.page-project-overview .phase-report-item-head {
    font-size: 0.9rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.35;
    word-break: break-word;
}

.page-project-overview .phase-report-item-line {
    font-size: 0.84rem;
    line-height: 1.35;
    color: #334155;
    word-break: break-word;
}

.page-project-overview .phase-report-empty {
    margin: 0;
    font-size: 0.9rem;
    color: #4b5563;
}

.page-project-overview .phase-report-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 18px 16px;
    border-top: 1px solid #edf1f6;
}

.page-project-overview .progress-track {
    height: 10px;
    border-radius: 999px;
    background: #CED5BF;
    overflow: hidden;
}

.page-project-overview .progress-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #56705D 0%, #CED5BF 100%);
}

.page-project-overview .metrics {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.page-project-overview .phase-flow-surface {
    margin-top: 12px;
    display: grid;
    gap: 10px;
}

.page-project-overview .phase-flow-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.page-project-overview .phase-flow-helper {
    margin: 0;
    font-size: 0.9rem;
    color: #4b5563;
}

.page-project-overview .phase-flow-notice {
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.9rem;
    line-height: 1.4;
}

.page-project-overview .phase-flow-notice.ok {
    border: 1px solid #86efac;
    background: #f0fdf4;
    color: #166534;
}

.page-project-overview .phase-flow-notice.error {
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #9f1239;
}

.page-project-overview .phase-flow-form {
    margin: 0;
}

.page-project-overview .phase-flow-btn {
    width: 100%;
    justify-content: center;
    min-height: 48px;
    font-size: 1rem;
}

.page-project-overview .between-phase-summary {
    margin-top: 12px;
    display: grid;
    gap: 12px;
    border: 1px solid #CED5BF;
    background: #E9EEE1;
}

.page-project-overview .between-phase-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.page-project-overview .between-phase-subline {
    margin: 0;
    font-size: 0.9rem;
    color: #334155;
}

.page-project-overview .between-phase-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.page-project-overview .between-phase-metric {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    background: #ffffff;
    padding: 10px;
    display: grid;
    gap: 4px;
}

.page-project-overview .between-phase-metric-label {
    font-size: 0.8rem;
    color: #475569;
    line-height: 1.35;
}

.page-project-overview .between-phase-metric-value {
    font-size: 1.3rem;
    font-weight: 800;
    color: #111827;
    line-height: 1.1;
}

.page-project-overview .between-phase-metric-meta {
    font-size: 0.8rem;
    color: #64748b;
}

.page-project-overview .between-phase-analysis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
}

.page-project-overview .between-phase-slider {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    background: #ffffff;
    padding: 10px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 10px;
    min-height: 320px;
}

.page-project-overview .between-phase-slider-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.page-project-overview .between-phase-slider-head h3 {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: #1f2937;
}

.page-project-overview .between-phase-slider-controls {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-project-overview .between-phase-slider-btn {
    width: 32px;
    height: 32px;
    border: 1px solid #CED5BF;
    border-radius: 9px;
    background: #ffffff;
    color: #1f2937;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.page-project-overview .between-phase-slider-btn:hover,
.page-project-overview .between-phase-slider-btn:focus-visible {
    border-color: #CED5BF;
    background: #E9EEE1;
    outline: none;
}

.page-project-overview .between-phase-slider-window {
    overflow: hidden;
    border: 1px solid #E9EEE1;
    border-radius: 10px;
    background: #E9EEE1;
}

.page-project-overview .between-phase-slider-track {
    display: flex;
    width: 100%;
    transform: translateX(0);
    transition: transform 0.25s ease;
}

.page-project-overview .between-phase-slide {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
    display: grid;
    gap: 8px;
    align-content: start;
}

.page-project-overview .between-phase-slide h4 {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1f2937;
}

.page-project-overview .between-phase-list {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 4px;
}

.page-project-overview .between-phase-list li {
    font-size: 0.86rem;
    color: #1f2937;
    line-height: 1.4;
}

.page-project-overview .between-phase-slider-indicator {
    font-size: 0.8rem;
    color: #64748b;
    font-weight: 700;
    text-align: center;
}

.page-project-overview .between-phase-deadline-panel {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    background: #ffffff;
    padding: 10px;
    display: grid;
    gap: 10px;
    align-content: start;
}

.page-project-overview .between-phase-deadline-panel h3 {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: #1f2937;
}

.page-project-overview .between-phase-deadline-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 7px;
}

.page-project-overview .between-phase-deadline-item {
    border: 1px solid #E9EEE1;
    border-radius: 10px;
    background: #E9EEE1;
    padding: 8px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 52%);
    gap: 10px;
    align-items: center;
}

.page-project-overview .between-phase-deadline-task {
    font-size: 0.84rem;
    color: #1f2937;
    line-height: 1.35;
    word-break: break-word;
}

.page-project-overview .between-phase-deadline-bar-wrap {
    position: relative;
    height: 30px;
    border: 1px solid #CED5BF;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.page-project-overview .between-phase-deadline-zero-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #94a3b8;
    transform: translateX(-0.5px);
}

.page-project-overview .between-phase-deadline-bar {
    position: absolute;
    top: 4px;
    bottom: 4px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.page-project-overview .between-phase-deadline-bar.is-early {
    right: 50%;
    width: calc((var(--bar-level, 1) / 5) * 44%);
    background: #56705D;
    border-radius: 6px 0 0 6px;
}

.page-project-overview .between-phase-deadline-bar.is-late {
    left: 50%;
    width: calc((var(--bar-level, 1) / 5) * 44%);
    background: #dc2626;
    border-radius: 0 6px 6px 0;
}

.page-project-overview .between-phase-deadline-bar.is-on_time {
    left: calc(50% - 14px);
    width: 28px;
    background: #16a34a;
    border-radius: 0;
}

.page-project-overview .between-phase-aborted-list-wrap {
    display: grid;
    gap: 6px;
}

.page-project-overview .between-phase-aborted-list-wrap h4 {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 700;
    color: #7f1d1d;
}

.page-project-overview .between-phase-aborted-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
}

.page-project-overview .between-phase-aborted-list li {
    border: 1px solid #fecaca;
    background: #fff1f2;
    border-radius: 8px;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.83rem;
    color: #7f1d1d;
}

.page-project-overview .between-phase-aborted-state {
    font-weight: 700;
    white-space: nowrap;
}

.page-project-overview .between-phase-empty {
    margin: 0;
    font-size: 0.85rem;
    color: #64748b;
}

.page-project-overview .active-phase-tasks-surface {
    margin-top: 12px;
}

.page-project-overview #project-phase-task-tabs-panel {
    padding-top: 0;
    overflow: hidden;
}

.page-project-overview #project-phase-task-tabs-panel.is-loading {
    opacity: 0.72;
    pointer-events: none;
}

.page-project-overview .active-phase-phase-tabs {
    margin: 0 -18px 16px;
    padding: 0 12px 0;
    gap: 0;
    flex-wrap: nowrap;
    overflow: hidden;
    border-bottom: 1px solid #d8dee6;
    background: #eef2f7;
}

.page-project-overview .active-phase-phase-tab {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 14px;
    border: 1px solid #d8dee6;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    margin-bottom: -1px;
    background: #e2e8f0;
    color: #475569;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.18;
}

.page-project-overview .active-phase-phase-tab + .active-phase-phase-tab {
    margin-left: 2px;
}

.page-project-overview .active-phase-phase-tab:hover {
    background: #e8edf3;
    border-color: #cbd5e1;
    color: #334155;
}

.page-project-overview .active-phase-phase-tab.is-active {
    background: #ffffff;
    color: #111827;
    border-color: #d8dee6;
}

.page-project-overview .active-phase-phase-status-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.page-project-overview .active-phase-phase-status-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.page-project-overview .active-phase-phase-status-label {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.page-project-overview .active-phase-phase-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #1f2937;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.15;
}

.page-project-overview .active-phase-phase-status-badge.is-pending {
    border-color: #dbe4f0;
    background: #f8fafc;
    color: #475569;
}

.page-project-overview .active-phase-phase-status-badge.is-active {
    border-color: #b7dfc3;
    background: #ecfdf3;
    color: #166534;
}

.page-project-overview .active-phase-phase-status-badge.is-complete {
    border-color: #cbd5e1;
    background: #eef2f7;
    color: #334155;
}

.page-project-overview .active-phase-phase-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.page-project-overview .active-phase-phase-notice {
    margin-bottom: 12px;
}

.page-project-overview .active-phase-tasks-title {
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 700;
}

.page-project-overview .active-phase-tasks-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.page-project-overview .active-phase-tasks-head .active-phase-tasks-title {
    margin: 0;
}

.page-project-overview .add-active-task-btn {
    white-space: nowrap;
}

.page-project-overview .active-phase-task-group + .active-phase-task-group {
    margin-top: 14px;
}

.page-project-overview .active-phase-task-subtitle {
    margin: 0 0 8px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1f2937;
}

.page-project-overview .active-phase-tasks-empty {
    margin: 0;
    color: #4b5563;
    font-size: 0.9rem;
}

.page-project-overview .active-phase-task-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.page-project-overview .active-phase-task-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 820px;
    background: #ffffff;
}

.page-project-overview .active-phase-task-table th,
.page-project-overview .active-phase-task-table td {
    border-bottom: 1px solid #edf1f5;
    vertical-align: middle;
    text-align: left;
    padding: 0;
}

.page-project-overview .active-phase-task-table th {
    font-size: 0.82rem;
    color: #6b7280;
    background: #f8fafc;
    font-weight: 700;
    padding: 11px 12px;
}

.page-project-overview .active-phase-task-table tr:last-child td {
    border-bottom: none;
}

.page-project-overview .active-phase-task-link {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    text-decoration: none;
    color: #111827;
    font-size: 0.9rem;
    line-height: 1.4;
}

.page-project-overview .active-phase-task-table th:last-child,
.page-project-overview .active-phase-task-table td:last-child {
    width: 70px;
    text-align: center;
}

.page-project-overview .active-phase-task-table th:nth-child(4),
.page-project-overview .active-phase-task-table td:nth-child(4) {
    width: 150px;
}

.page-project-overview .active-phase-task-table th:nth-child(5),
.page-project-overview .active-phase-task-table td:nth-child(5),
.page-project-overview .active-phase-task-table th:nth-child(6),
.page-project-overview .active-phase-task-table td:nth-child(6) {
    width: 100px;
}

.page-project-overview .active-phase-task-progress-link {
    display: flex;
    align-items: center;
    gap: 8px;
}

.page-project-overview .active-phase-task-progress-track {
    flex: 1 1 auto;
    min-width: 68px;
    height: 8px;
    border-radius: 999px;
    background: #CED5BF;
    overflow: hidden;
}

.page-project-overview .active-phase-task-progress-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #56705D 0%, #CED5BF 100%);
}

.page-project-overview .active-phase-task-progress-percent {
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 700;
    color: #475569;
}

.page-project-overview .active-phase-task-progress-empty {
    font-size: 0.82rem;
    color: #6b7280;
}

.page-project-overview .active-phase-task-status-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 30px;
    margin: 4px auto;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    font-size: 1rem;
    color: #000000;
    cursor: pointer;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.page-project-overview .active-phase-task-status-btn i {
    color: #000000;
}

.page-project-overview .active-phase-task-status-btn:hover,
.page-project-overview .active-phase-task-status-btn:focus-visible {
    border-color: #9ca3af;
    background: transparent;
    outline: none;
}

.page-project-overview .active-phase-task-status-btn.is-readonly {
    cursor: default;
    pointer-events: none;
}

.page-project-overview .active-phase-task-status-btn.is-readonly:hover,
.page-project-overview .active-phase-task-status-btn.is-readonly:focus-visible {
    border-color: transparent;
    background: transparent;
}

.page-project-overview .is-readonly-task-link {
    cursor: default;
}

.page-project-overview .phase-report-item.is-readonly-task-link:hover {
    border-color: #d8dee6;
    background: #ffffff;
}

.page-project-overview .phase-gantt-bar.is-readonly-task-link:hover {
    border-color: inherit;
    box-shadow: none;
}

.page-project-overview .active-phase-task-row.is-warning > td {
    background: rgba(250, 204, 21, 0.2);
}

.page-project-overview .active-phase-task-row.is-overdue > td {
    background: #fff1f2;
}

.page-project-overview .active-phase-task-row.is-done > td {
    background: #f3f4f6;
}

.page-project-overview .active-phase-task-row.is-done .active-phase-task-link {
    color: #374151;
}

.page-project-overview .active-phase-task-table tbody tr:hover > td {
    background: #E9EEE1;
}

.page-project-overview .active-phase-task-table tbody tr.is-warning:hover > td {
    background: rgba(250, 204, 21, 0.28);
}

.page-project-overview .active-phase-task-table tbody tr.is-overdue:hover > td {
    background: #ffe4e8;
}

.page-project-overview .active-phase-task-table tbody tr.is-done:hover > td {
    background: #e5e7eb;
}

.page-project-overview .active-phase-hover-note {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    pointer-events: none;
    z-index: 4200;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 8px 10px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
    font-size: 0.83rem;
    font-weight: 700;
    line-height: 1.35;
    max-width: min(320px, calc(100vw - 16px));
}

.page-project-overview .active-phase-hover-note.is-visible {
    display: block;
}

.page-project-overview .active-phase-hover-note.is-warning {
    color: #92400e;
}

.page-project-overview .active-phase-hover-note.is-overdue {
    color: #9f1239;
}

.page-project-overview .task-status-dropdown {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    min-width: 190px;
    max-width: min(240px, calc(100vw - 16px));
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.2);
    padding: 6px;
    z-index: 4300;
}

.page-project-overview .task-status-dropdown.is-visible {
    display: block;
}

.page-project-overview .task-status-dropdown-item {
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #111827;
    font-size: 0.87rem;
    padding: 7px 8px;
    cursor: pointer;
}

.page-project-overview .task-status-dropdown-item:hover,
.page-project-overview .task-status-dropdown-item:focus-visible {
    border-color: #e5e7eb;
    background: #f8fafc;
    outline: none;
}

.page-project-overview .task-status-dropdown-item.is-current {
    border-color: #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    font-weight: 700;
}

.page-project-overview .task-status-dropdown-item:disabled {
    opacity: 0.65;
    cursor: default;
}

.page-project-overview .metric-card {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 12px;
    background: #ffffff;
}

.page-project-overview .metric-label {
    display: block;
    font-size: 0.83rem;
    color: #6b7280;
    margin-bottom: 4px;
}

.page-project-overview .metric-value {
    font-size: 1.45rem;
    line-height: 1.1;
    font-weight: 800;
    color: #111827;
}

.page-project-overview .setup-todo {
    margin-top: 12px;
    border-color: #fde68a;
    background: #fffbeb;
}

.page-project-overview .setup-todo-head {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #92400e;
}

.page-project-overview .setup-todo-list {
    margin: 10px 0 0;
    padding-left: 18px;
    display: grid;
    gap: 5px;
}

.page-project-overview .setup-todo-list li {
    color: #92400e;
    font-size: 0.9rem;
    line-height: 1.45;
}

.page-project-overview .grid-head {
    margin: 26px 0 12px;
    font-size: 1.18rem;
    font-weight: 700;
}

.page-project-overview .function-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.page-project-overview .function-card {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page-project-overview .function-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.page-project-overview .function-text {
    margin: 0;
    color: #4b5563;
    font-size: 0.9rem;
    line-height: 1.45;
    flex: 1;
}

.page-project-overview .function-actions {
    display: flex;
    justify-content: flex-end;
}

.page-project-overview .notice {
    margin-top: 12px;
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.9rem;
}

.page-project-overview .toast,
#pc-error-toast {
    position: fixed;
    left: 50%;
    bottom: 22px;
    transform: translate(-50%, 180%);
    display: none;
    background: #9f1239;
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 12px 16px;
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.26);
    z-index: 5400;
    transition: transform 0.3s ease;
    max-width: min(94vw, 760px);
}

.page-project-overview .toast.is-visible,
#pc-error-toast.is-visible {
    display: block;
    transform: translate(-50%, 0);
}

.page-project-overview .toast.ok {
    background: #166534;
}

.page-project-overview .toast.error {
    background: #9f1239;
}

.page-task-overview .toast {
    bottom: 22px;
}

.page-work-overview .toast {
    bottom: 22px;
}

.page-project-overview .error-state {
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #7f1d1d;
    border-radius: 12px;
    padding: 14px;
}

@media (max-width: 980px) {
    .page-project-overview {
        padding-left: 74px;
    }

    .page-project-overview .pm-sidebar {
        width: 54px;
    }

    .page-project-overview .pm-sidebar:hover,
    .page-project-overview .pm-sidebar:focus-within {
        width: 250px;
    }

    .page-project-overview .hero {
        grid-template-columns: 1fr;
    }

    .page-project-overview .hero-bottom {
        grid-template-columns: 1fr;
    }

    .page-project-overview .hero-meta {
        grid-template-columns: 1fr;
    }

    .page-project-overview .project-workspace-split {
        grid-template-columns: 1fr;
    }

    .page-project-overview .project-custom-lists-grid {
        grid-template-columns: 1fr;
    }

    .page-project-overview .project-info-grid {
        grid-template-columns: 1fr;
    }

    .page-project-overview .metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-project-overview .between-phase-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-project-overview .between-phase-analysis {
        grid-template-columns: 1fr;
    }

    .page-project-overview .function-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 760px) {
    body.page-project-overview .pc-mobile-sidebar-shell,
    body.page-task-overview:not(.is-iframe-embed) .pc-mobile-sidebar-shell {
        display: block;
        pointer-events: none;
    }

    html.is-iframe-embed body .pc-mobile-sidebar-shell,
    body.is-iframe-embed .pc-mobile-sidebar-shell {
        display: none !important;
    }

    .pc-mobile-sidebar-toggle {
        position: fixed;
        top: calc(10px + env(safe-area-inset-top, 0px));
        left: 10px;
        right: auto;
        z-index: 5600;
        width: 44px;
        height: 44px;
        border: 1px solid #56705D;
        border-radius: 999px;
        background: #56705D;
        color: #ffffff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
        cursor: pointer;
        pointer-events: auto;
        transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
    }

    .pc-mobile-sidebar-toggle i {
        color: #ffffff !important;
        font-size: 1.25rem;
        line-height: 1;
    }

    .pc-mobile-sidebar-shell.is-open .pc-mobile-sidebar-toggle {
        background: #56705D;
        color: #ffffff;
        border-color: #56705D;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
    }

    .pc-mobile-sidebar-shell.is-open .pc-mobile-sidebar-toggle i {
        color: #ffffff !important;
    }

    .pc-mobile-sidebar-backdrop {
        position: fixed;
        inset: 0;
        z-index: 5500;
        background: transparent;
        pointer-events: auto;
    }

    .pc-mobile-sidebar-panel {
        position: fixed;
        top: calc(62px + env(safe-area-inset-top, 0px));
        left: 0;
        z-index: 5550;
        width: 70vw;
        max-width: 70vw;
        height: calc(100svh - 74px - env(safe-area-inset-top, 0px));
        max-height: calc(100svh - 74px - env(safe-area-inset-top, 0px));
        border: 1px solid #d8dee6;
        border-left: 0;
        border-radius: 0 18px 18px 0;
        background: #ffffff;
        box-shadow: 18px 0 36px rgba(15, 23, 42, 0.18);
        overflow-x: hidden;
        overflow-y: auto;
        pointer-events: auto;
        transform: translateX(-105%);
        transition: transform 0.26s ease;
    }

    .pc-mobile-sidebar-shell.is-open .pc-mobile-sidebar-panel {
        transform: translateX(0);
    }

    .pc-mobile-sidebar-list {
        margin: 0;
        padding: 12px 10px;
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 8px;
        box-sizing: border-box;
    }

    .pc-mobile-sidebar-link {
        width: 100%;
        min-height: 46px;
        box-sizing: border-box;
        border: 1px solid #d8dee6;
        border-radius: 12px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 8px 10px;
        background: #ffffff;
        color: #1e293b;
        text-decoration: none;
        font-size: 0.9rem;
        font-weight: 700;
        line-height: 1.25;
        transition: border-color 0.15s ease, background-color 0.15s ease;
    }

    .pc-mobile-sidebar-link:hover,
    .pc-mobile-sidebar-link:focus-visible {
        border-color: #CED5BF;
        background: #E9EEE1;
    }

    .pc-mobile-sidebar-icon {
        width: 24px;
        min-width: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #56705D;
        font-size: 1rem;
    }

    .pc-mobile-sidebar-icon i {
        color: #56705D !important;
    }

    .pc-mobile-sidebar-logo {
        width: 21px;
        height: 21px;
        object-fit: contain;
        display: block;
        border-radius: 5px;
    }

    .pc-mobile-sidebar-label {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .page-project-overview .project-list-grid-3,
    .page-project-overview .project-list-grid-2 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .page-project-overview {
        padding-left: 12px;
    }

    .page-project-overview .pm-sidebar {
        top: 70px;
        left: 8px;
        width: 48px;
        bottom: auto;
        max-height: calc(100vh - 82px);
    }

    .page-project-overview .pm-sidebar:hover,
    .page-project-overview .pm-sidebar:focus-within {
        width: 220px;
    }

    .page-project-overview .overview-page {
        width: var(--pc-page-body-width);
        max-width: var(--pc-page-body-width);
        margin-top: 74px;
        gap: 18px;
    }

    .page-project-overview .metrics,
    .page-project-overview .function-grid {
        grid-template-columns: 1fr;
    }

    .page-project-overview .between-phase-metrics,
    .page-project-overview .between-phase-analysis {
        grid-template-columns: 1fr;
    }

    .page-project-overview .between-phase-deadline-item {
        grid-template-columns: 1fr;
    }

    .page-project-overview .project-custom-lists-head {
        align-items: stretch;
    }

    .page-project-overview .project-custom-lists-head > .btn {
        width: 100%;
        justify-content: center;
    }

    .page-project-overview .project-list-modal-card {
        width: min(100vw - 16px, 780px);
        margin: 8px auto;
        border-radius: 16px;
    }

    .page-project-overview .project-list-modal-head,
    .page-project-overview .project-list-modal-body,
    .page-project-overview .project-list-modal-actions {
        padding-left: 10px;
        padding-right: 10px;
    }

    .page-project-overview .phase-gantt-head {
        align-items: flex-start;
    }

    .page-project-overview .phase-gantt-row-track {
        grid-template-columns: repeat(var(--gantt-slots), minmax(34px, 1fr));
    }
}

@media (max-width: 760px) {
    .page-project-overview {
        padding: 8px 8px 56px !important;
        font-size: 13px;
        min-height: 100svh;
    }

    .page-project-overview .pfb-shell,
    .page-project-overview .pm-sidebar,
    .page-project-overview .top-actions.project-actionbar {
        display: none !important;
    }

    .page-project-overview .overview-page {
        width: min(100%, calc(100vw - 16px)) !important;
        max-width: min(100%, calc(100vw - 16px)) !important;
        margin: var(--pc-visible-project-header-offset, 8px) auto 24px !important;
        gap: 12px !important;
    }

    .page-project-overview .surface {
        padding: 12px !important;
        border-radius: 16px !important;
    }

    .page-project-overview .hero,
    .page-project-overview .hero-main,
    .page-project-overview .hero-bottom,
    .page-project-overview .project-announcements-inline,
    .page-project-overview .project-announcements-form,
    .page-project-overview .project-log-panel,
    .page-project-overview .project-log-toolbar,
    .page-project-overview .status-card,
    .page-project-overview .project-overview-ticket-panels,
    .page-project-overview .project-workspace-split,
    .page-project-overview .project-custom-lists-grid {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .page-project-overview .hero,
    .page-project-overview .hero-main,
    .page-project-overview .project-announcements-inline,
    .page-project-overview .project-overview-ticket-panels,
    .page-project-overview .project-workspace-split,
    .page-project-overview .project-custom-lists-grid {
        gap: 12px !important;
    }

    .page-project-overview .project-overview-ticket-panels {
        align-items: start !important;
        row-gap: 18px !important;
    }

    .page-project-overview .hero-bottom,
    .page-project-overview .project-overview-ticket-panels,
    .page-project-overview .project-workspace-split,
    .page-project-overview .project-custom-lists-grid,
    .page-project-overview .function-grid,
    .page-project-overview .metrics,
    .page-project-overview .between-phase-metrics,
    .page-project-overview .between-phase-analysis {
        grid-template-columns: 1fr !important;
    }

    .page-project-overview .hero-bottom,
    .page-project-overview .project-log-panel,
    .page-project-overview .status-card {
        display: none !important;
    }

    .page-project-overview .hero-project-title {
        font-size: 0.95rem !important;
        line-height: 1.22 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    .page-project-overview h1 {
        font-size: 1.32rem !important;
    }

    .page-project-overview h2,
    .page-project-overview .project-meetings-panel h2,
    :is(.page-project-overview, .project-requirements-panel) .project-files-head h2,
    .page-project-overview .setup-todo-head {
        font-size: 0.96rem !important;
    }

    /* The shared toolbar owns its icon dimensions, also on overview pages. */
    .page-project-overview .btn:not(.project-actionbar-btn) {
        min-height: 38px !important;
        padding: 8px 12px !important;
        border-radius: 12px !important;
        font-size: 0.84rem !important;
        gap: 6px !important;
    }

    .page-project-overview .icon-btn-square:not(.project-actionbar-btn),
    .page-project-overview .project-info-btn:not(.project-actionbar-btn),
    .page-project-overview .project-notification-btn:not(.project-actionbar-btn),
    .page-project-overview .project-log-expand-btn:not(.project-actionbar-btn) {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
    }

    .page-project-overview input,
    .page-project-overview select,
    .page-project-overview textarea {
        min-height: 38px;
        border-radius: 12px;
        font-size: 0.86rem;
    }

    .page-project-overview .project-announcements-form {
        --announcement-input-height: 38px;
        gap: 5px;
        overflow: hidden;
    }

    .page-project-overview .project-announcements-input {
        padding: 0 11px;
        font-size: 0.74rem;
    }

    .page-project-overview .project-announcement-card {
        padding: 7px 9px;
        border-radius: 12px;
    }

    .page-project-overview .project-announcement-text,
    .page-project-overview .project-announcements-empty,
    .page-project-overview .project-announcements-error {
        font-size: 0.7rem;
        overflow-wrap: anywhere;
    }

    .page-project-overview .project-announcement-meta {
        font-size: 0.62rem;
    }

    .page-project-overview .project-log-panel,
    .page-project-overview .project-meetings-panel,
    :is(.page-project-overview, .project-requirements-panel) .project-files-panel,
    .page-project-overview .status-card,
    .page-project-overview .my-ticket-card,
    :is(.page-project-overview, .project-requirements-panel) .project-file-item,
    .page-project-overview .project-meeting-card {
        border-radius: 14px !important;
    }

    .page-project-overview .project-log-panel,
    .page-project-overview .project-meetings-panel,
    :is(.page-project-overview, .project-requirements-panel) .project-files-panel,
    .page-project-overview .status-card {
        padding: 10px !important;
    }

    .page-project-overview .project-log-tabs,
    .page-project-overview .project-log-panel .project-log-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 6px;
        min-width: 0;
        max-width: 100%;
        scrollbar-width: thin;
    }

    .page-project-overview .project-log-tab {
        flex: 0 0 auto;
        padding: 5px 9px;
        font-size: 0.72rem;
    }

    .page-project-overview .project-log-list-wrap {
        max-height: 150px;
    }

    .page-project-overview .project-log-row {
        font-size: 0.78rem;
    }

    .page-project-overview .project-log-row-link,
    .page-project-overview .project-log-row-text {
        padding: 7px 9px;
    }

    .page-project-overview .status-card {
        gap: 7px;
    }

    .page-project-overview .status-badge {
        padding: 5px 9px;
        font-size: 0.74rem;
    }

    .page-project-overview .status-value {
        font-size: 1.55rem;
    }

    .page-project-overview .meta-label,
    .page-project-overview .status-detail {
        font-size: 0.74rem;
    }

    .page-project-overview .my-tickets-surface {
        height: auto !important;
        max-height: none;
        margin-bottom: 0;
        min-height: auto;
        padding-top: 12px !important;
        overflow: visible;
    }

    .page-project-overview .my-tickets-surface h2 {
        font-size: 0.9rem;
    }

    .page-project-overview .my-tickets-group h3 {
        font-size: 0.76rem;
    }

    .page-project-overview .my-tickets-days-select {
        min-width: 78px;
        height: 26px;
        min-height: 26px;
        padding: 2px 22px 2px 9px;
        font-size: 0.72rem;
    }

    .page-project-overview .my-tickets-grid {
        --my-ticket-grid-gap: 7px;
    }

    .page-project-overview .my-ticket-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 30px 9px 8px;
    }

    .page-project-overview .project-overview-ticket-panels > .my-tickets-surface:only-child .my-tickets-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-project-overview .my-tickets-surface--full .my-tickets-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-project-overview .my-tickets-surface--full .my-tickets-grid > .my-ticket-card--has-children {
        grid-column: 1 / -1;
    }

    .page-project-overview .my-tickets-sort-btn {
        min-height: 26px;
        padding: 4px 10px;
        font-size: 0.7rem;
    }

    .page-project-overview .my-ticket-card-id {
        max-width: 104px;
        font-size: 0.66rem;
    }

    .page-project-overview .my-ticket-card-name {
        font-size: 0.76rem;
    }

    .page-project-overview .my-ticket-card-dates {
        font-size: 0.68rem;
    }

    .page-project-overview .project-meeting-tabs {
        gap: 4px;
        padding: 3px;
    }

    .page-project-overview .project-meeting-tab {
        padding: 6px 5px;
        font-size: 0.7rem;
    }

    .page-project-overview .project-meetings-panel-body,
    :is(.page-project-overview, .project-requirements-panel) .project-files-body {
        padding: 8px;
        border-radius: 12px;
    }

    :is(.page-project-overview, .project-requirements-panel) .project-files-body {
        min-height: 170px;
    }

    .page-project-overview .project-meeting-card {
        padding: 7px 8px;
    }

    .page-project-overview .project-meeting-card-name,
    :is(.page-project-overview, .project-requirements-panel) .project-file-name {
        font-size: 0.82rem;
    }

    .page-project-overview .project-meeting-card-meta,
    :is(.page-project-overview, .project-requirements-panel) .project-file-meta,
    :is(.page-project-overview, .project-requirements-panel) .project-file-history-info {
        font-size: 0.7rem;
        gap: 4px 8px;
        flex-wrap: wrap;
        white-space: normal;
    }

    :is(.page-project-overview, .project-requirements-panel) .project-file-row-main,
    :is(.page-project-overview, .project-requirements-panel) .project-file-history-item {
        gap: 7px;
    }

    :is(.page-project-overview, .project-requirements-panel) .project-file-actions,
    :is(.page-project-overview, .project-requirements-panel) .project-file-history-actions {
        gap: 5px;
    }

    :is(.page-project-overview, .project-requirements-panel) .project-file-group-title,
    :is(.page-project-overview, .project-requirements-panel) .project-file-history-head,
    :is(.page-project-overview, .project-requirements-panel) .project-file-history-empty,
    .page-project-overview .project-meetings-empty,
    .page-project-overview .project-meetings-placeholder,
    :is(.page-project-overview, .project-requirements-panel) .project-files-message,
    .page-project-overview .setup-todo-list li,
    .page-project-overview .notice {
        font-size: 0.8rem;
    }

    .page-project-overview .project-info-modal-card,
    .project-notification-card,
    .page-project-overview .project-log-modal-card,
    .page-project-overview .phase-report-modal-card,
    :is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-card,
    .page-project-overview .project-announcement-delete-modal-card,
    .page-project-overview .project-start-modal-card,
    .page-project-overview .project-list-modal-card {
        width: min(96vw, calc(100vw - 16px)) !important;
        max-height: calc(100svh - 16px) !important;
        margin: 8px auto !important;
        border-radius: 14px !important;
    }

    .project-notification-shell {
        padding: 8px;
        align-items: center;
    }

    .page-project-overview .project-info-modal-head,
    .page-project-overview .project-info-modal-body,
    .page-project-overview .project-info-modal-actions,
    .project-notification-head,
    .project-notification-body,
    :is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-head,
    :is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-body,
    :is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-actions,
    .page-project-overview .project-announcement-delete-modal-head,
    .page-project-overview .project-announcement-delete-modal-body,
    .page-project-overview .project-announcement-delete-modal-actions,
    .page-project-overview .project-list-modal-head,
    .page-project-overview .project-list-modal-body,
    .page-project-overview .project-list-modal-actions {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .page-project-overview .project-info-grid,
    .page-project-overview .project-list-grid-3,
    .page-project-overview .project-list-grid-2 {
        grid-template-columns: 1fr !important;
    }

    .project-notification-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .project-notification-row-btn {
        padding: 9px 10px;
    }

    .project-notification-read-btn {
        justify-self: end;
        margin: 0 10px 10px 0;
    }

    .project-notification-comment {
        font-size: 0.82rem;
    }

    .project-notification-time,
    .project-notification-detail,
    .project-notification-creator {
        font-size: 0.72rem;
    }

    .page-project-overview .project-overview-ticket-preview-card {
        width: min(96vw, calc(100vw - 16px)) !important;
        height: min(88svh, calc(100svh - 16px)) !important;
        border-radius: 16px !important;
    }

    .page-project-overview .toast,
    #pc-error-toast {
        left: 8px;
        right: 8px;
        bottom: max(12px, env(safe-area-inset-bottom));
        max-width: none;
        padding: 10px 12px;
        border-radius: 12px;
        font-size: 0.82rem;
        transform: translateY(180%);
    }

    .page-project-overview .toast.is-visible,
    #pc-error-toast.is-visible {
        transform: translateY(0);
    }
}

@media (max-width: 420px) {
    .page-project-overview .my-tickets-grid,
    .page-project-overview .my-tickets-surface--full .my-tickets-grid,
    .page-project-overview .project-overview-ticket-panels > .my-tickets-surface:only-child .my-tickets-grid {
        grid-template-columns: 1fr;
    }

    .page-project-overview .project-overview-ticket-panels > .my-tickets-surface:only-child .my-tickets-grid > .my-ticket-card--has-children,
    .page-project-overview .my-tickets-grid > .my-ticket-card--has-children,
    .page-project-overview .my-ticket-card-children > .my-ticket-card--has-children {
        grid-column: 1 / -1;
    }

    .page-project-overview .my-ticket-card-children {
        grid-template-columns: 1fr;
    }

    .page-project-overview .project-meeting-tabs {
        grid-template-columns: 1fr;
    }

    :is(.page-project-overview, .project-requirements-panel) .project-file-row-main,
    :is(.page-project-overview, .project-requirements-panel) .project-file-history-item,
    :is(.page-project-overview, .project-requirements-panel) .project-file-delete-modal-actions,
    .page-project-overview .project-announcement-delete-modal-actions {
        flex-direction: column;
        align-items: stretch;
    }

    :is(.page-project-overview, .project-requirements-panel) .project-file-actions,
    :is(.page-project-overview, .project-requirements-panel) .project-file-history-actions {
        justify-content: flex-end;
    }
}

/* Task overview */
.page-task-overview {
    --ticket-level-bg: var(--pc-level-task-bg);
    --ticket-level-text: var(--pc-level-task-text);
    --ticket-level-rgb: var(--pc-level-task-rgb);
    margin: 0;
    min-height: 100vh;
    background: rgba(var(--ticket-level-rgb), 0.5);
    color: #1b1f24;
    --brand: #56705D;
    --brand-hover: #56705D;
}

.page-work-overview {
    background: rgba(var(--pc-level-work-rgb), 0.5);
}

.page-subtask-overview {
    background: rgba(var(--pc-level-subtask-rgb), 0.5);
}

.page-task-overview.has-pm-sidebar {
    box-sizing: border-box;
    padding-left: 82px;
}

.page-task-overview .top-actions {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 1100;
    display: flex;
    align-items: center;
    gap: 10px;
}

.page-task-overview .page {
    width: var(--pc-page-body-width);
    max-width: var(--pc-page-body-width);
    margin: var(--pc-project-header-body-offset) auto 36px;
    display: grid;
    gap: var(--ticket-overview-gap, 12px);
}

.page-task-overview.is-iframe-embed .page {
    width: 92%;
    max-width: 92%;
}

html.is-iframe-embed body.page-task-overview,
body.page-task-overview.is-iframe-embed {
    padding-left: 0 !important;
}

html.is-iframe-embed body.page-task-overview .pfb-shell,
html.is-iframe-embed body.page-task-overview .pm-sidebar,
html.is-iframe-embed body.page-task-overview .top-actions.project-actionbar,
body.page-task-overview.is-iframe-embed .pfb-shell,
body.page-task-overview.is-iframe-embed .pm-sidebar,
body.page-task-overview.is-iframe-embed .top-actions.project-actionbar {
    display: none !important;
}

html.is-iframe-embed body.page-task-overview .page,
body.page-task-overview.is-iframe-embed .page {
    width: 92%;
    max-width: 92%;
}

/* Shared description tabs: preserve both editors in the DOM and existing form ownership. */
.ticket-description-editor { min-width:0; border:1px solid #d8dee6; border-radius:12px; background:#f8fafc; padding:6px; }
.ticket-description-tabs { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:4px; }
.ticket-description-tabs [role="tab"] { border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#334155; padding:6px 10px; min-height:32px; font:inherit; cursor:pointer; }
.ticket-description-tabs [aria-selected="true"] { background:#E9EEE1; border-color:#CED5BF; color:#56705D; }
.ticket-description-tabs [role="tab"]:focus-visible { outline:2px solid #56705D; outline-offset:1px; }
.ticket-description-editor [data-description-panel][hidden] { display:none !important; }
.ticket-description-editor [data-description-panel] { min-width:0; }
.ticket-description-editor [data-description-panel] textarea { width:100%; box-sizing:border-box; padding:6px !important; overflow-y:auto; resize:vertical; }
.ticket-description-editor [data-description-panel="short"] textarea { height:4.8em !important; min-height:4.8em !important; line-height:1.4; }
.ticket-description-editor [data-description-panel="full"] textarea { height:9rem; min-height:9rem !important; }
.ticket-description-limit { display:block; margin-top:2px; color:#64748b; font-size:.75rem; }

/* Spacing belongs only to these three ticket pages, never to creation dialogs. */
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) > .page {
    --ticket-overview-gap: 4px;
    --ticket-overview-pad: 6px;
    --ticket-overview-empty-height: 80px;
}

:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) > .page .modal-shell {
    --ticket-overview-gap: initial;
    --ticket-overview-pad: initial;
    --ticket-overview-empty-height: initial;
}

.page-task-overview .surface {
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    padding: var(--ticket-overview-pad, 18px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.page-task-overview .ticket-title-row {
    display: grid;
    grid-template-columns: minmax(90px, max-content) minmax(0, 1fr) minmax(58px, max-content);
    gap: var(--ticket-overview-gap, 10px);
    align-items: stretch;
}

.page-task-overview .ticket-title-row.has-progress {
    grid-template-columns: minmax(90px, max-content) minmax(0, 1fr) minmax(240px, 340px) minmax(58px, max-content);
}

.page-task-overview .ticket-id-card,
.page-task-overview .ticket-name-card {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #f8fafc;
    padding: var(--ticket-overview-pad, 10px) var(--ticket-overview-pad, 12px);
}

.page-task-overview .ticket-id-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    cursor: pointer;
    line-height: 1.05;
}

.page-task-overview .ticket-head {
    margin: 0;
    font-size: 1.5rem;
}

.page-task-overview .ticket-id-psp-code {
    display: block;
    max-width: 100%;
    font-size: 0.72rem;
    font-weight: 400;
    line-height: 1.05;
    opacity: 0.78;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-task-overview .ticket-name {
    margin: 0;
    font-size: 1.12rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.3;
    word-break: break-word;
}

/* Center the complete title row within these three overview headers. */
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .ticket-title-row .ticket-name-card {
    display: flex;
    align-items: center;
    min-width: 0;
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .ticket-title-row .ticket-name-row {
    width: 100%;
    min-height: 0;
    margin: 0;
}

.page-task-overview .ticket-name-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.page-task-overview .ticket-name-row .ticket-name {
    flex: 1 1 auto;
    min-width: 0;
}

.page-task-overview .ticket-name-input {
    width: 100%;
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid #c8d1dc;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.3;
    color: #111827;
    outline: none;
}

.page-task-overview .ticket-name-input:focus {
    border-color: #CED5BF;
}

.page-task-overview .ticket-name-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

.page-task-overview .ticket-name-card #task-name-inline-input,
.page-task-overview .ticket-name-card #task-name-cancel-btn,
.page-task-overview .ticket-name-card #task-name-apply-btn {
    display: none;
}

.page-work-overview .ticket-name-card #work-name-inline-input,
.page-work-overview .ticket-name-card #work-name-cancel-btn,
.page-work-overview .ticket-name-card #work-name-apply-btn {
    display: none;
}

.page-task-overview .ticket-name-card.is-name-editing #task-name-display {
    display: none;
}

.page-work-overview .ticket-name-card.is-name-editing #work-name-display {
    display: none;
}

.page-task-overview .ticket-name-card.is-name-editing #task-name-inline-input {
    display: block;
}

.page-work-overview .ticket-name-card.is-name-editing #work-name-inline-input {
    display: block;
}

.page-task-overview .ticket-name-card.is-name-editing #task-name-edit-btn {
    display: none;
}

.page-work-overview .ticket-name-card.is-name-editing #work-name-edit-btn {
    display: none;
}

.page-task-overview .ticket-name-card.is-name-editing #task-name-cancel-btn,
.page-task-overview .ticket-name-card.is-name-editing #task-name-apply-btn {
    display: inline-flex;
}

.page-work-overview .ticket-name-card.is-name-editing #work-name-cancel-btn,
.page-work-overview .ticket-name-card.is-name-editing #work-name-apply-btn {
    display: inline-flex;
}

.page-task-overview .ticket-name-action-btn {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 8px;
}

.page-task-overview .ticket-name-action-btn i {
    font-size: 0.86rem;
}

.page-task-overview .ticket-name-card.is-full {
    grid-column: 2 / -1;
}

.page-task-overview .task-head-status-card {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #f8fafc;
    padding: var(--ticket-overview-pad, 8px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-task-overview .task-head-status-btn {
    width: 36px;
    height: 30px;
    margin: 0;
}

.page-task-overview .task-progress-card {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #f8fafc;
    padding: var(--ticket-overview-pad, 10px) var(--ticket-overview-pad, 12px);
    display: grid;
    gap: var(--ticket-overview-gap, 8px);
    align-content: center;
}

.page-task-overview .task-progress-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.page-task-overview .task-progress-label {
    font-size: 0.86rem;
    font-weight: 600;
    color: #475569;
}

.page-task-overview .task-progress-percent {
    margin: 0;
    text-align: right;
    font-size: 0.96rem;
    font-weight: 700;
    color: #1f2937;
}

.page-task-overview .task-progress-track {
    height: 10px;
    border-radius: 999px;
    background: #CED5BF;
    overflow: hidden;
}

.page-task-overview .task-progress-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #56705D 0%, #CED5BF 100%);
}

.page-task-overview .ticket-subline {
    margin: 10px 0 0;
    color: #4b5563;
    font-size: 0.92rem;
}

.page-task-overview .ticket-meta-grid {
    margin-top: var(--ticket-overview-gap, 12px);
    display: grid;
    grid-template-columns: repeat(var(--ticket-meta-columns, 4), minmax(0, 1fr));
    gap: var(--ticket-overview-gap, 12px);
    align-items: stretch;
}

.page-task-overview .ticket-meta-card {
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: #f8fafc;
    padding: 4px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    min-height: 34px;
    box-sizing: border-box;
}

.page-task-overview .ticket-meta-card-inline {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    overflow: hidden;
}

.page-task-overview .ticket-meta-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-width: 0;
}

.page-task-overview .ticket-meta-label {
    display: inline-block;
    margin: 0;
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
    flex: 0 0 auto;
}

.page-task-overview .ticket-meta-value {
    display: block;
    color: #111827;
    font-size: 0.78rem;
    line-height: 1.2;
    font-weight: 700;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-task-overview .ticket-meta-subvalue {
    display: block;
    color: #475569;
    font-size: 0.76rem;
    line-height: 1.2;
    font-weight: 600;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-task-overview .ticket-meta-separator {
    color: #94a3b8;
    font-size: 0.72rem;
    line-height: 1;
    flex: 0 0 auto;
}

.page-task-overview .ticket-meta-card-phase select,
.page-task-overview .ticket-meta-card-subproject select {
    width: auto;
    min-width: 0;
    max-width: 100%;
    min-height: 34px;
    padding: 5px 10px;
    border: 1px solid #CED5BF;
    border-radius: 9px;
    background: #ffffff;
    color: #111827;
    font-size: 0.86rem;
    flex: 1 1 0;
}

.page-task-overview .ticket-subline-row {
    margin-top: 10px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.page-task-overview .ticket-subline-main {
    display: flex;
    align-items: center;
    min-width: 0;
}

.page-task-overview .ticket-subline-row .ticket-subline {
    margin: 0;
}

.page-task-overview .ticket-phase-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    white-space: nowrap;
    min-width: 0;
}

.page-task-overview .ticket-phase-project,
.page-task-overview .ticket-phase-inline label {
    color: #4b5563;
    font-size: 0.92rem;
    font-weight: 500;
    white-space: nowrap;
    line-height: 1.3;
}

.page-task-overview .ticket-phase-project {
    display: inline-block;
    max-width: min(340px, 26vw);
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}

.page-task-overview .ticket-phase-separator {
    color: #94a3b8;
    font-size: 0.9rem;
    line-height: 1;
    font-weight: 500;
}

.page-task-overview .ticket-phase-inline label {
    margin: 0;
}

.page-task-overview .ticket-phase-inline select {
    width: clamp(130px, 14vw, 180px);
    min-width: 130px;
    max-width: 180px;
    min-height: 31px;
    padding: 5px 10px;
    border: 1px solid #CED5BF;
    border-radius: 9px;
    background: #ffffff;
    color: #111827;
    font-size: 0.86rem;
}

.page-task-overview .ticket-schedule-inline {
    margin-top: var(--ticket-overview-gap, 12px);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    justify-content: initial;
    gap: var(--ticket-overview-gap, 10px);
}

.page-work-overview .ticket-meta-grid {
    grid-template-columns: repeat(var(--ticket-meta-columns, 4), minmax(0, 1fr));
}

.page-work-overview .ticket-meta-card-work-type {
    min-width: 0;
    display: flex;
    align-items: stretch;
}

.page-work-overview .ticket-meta-card-work-assignment {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    overflow: hidden;
}

.page-work-overview .ticket-parent-display-link {
    flex: 1 1 auto;
    min-width: 0;
}

.page-work-overview .ticket-parent-edit-btn {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    padding: 0;
}

.page-work-overview .work-type-inline-btn {
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: #f8fafc;
    min-height: 34px;
    padding: 4px 10px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    color: #1f2937;
    font-size: 0.8rem;
    font-weight: 600;
    max-width: min(260px, 42vw);
}

.page-work-overview .ticket-meta-card-work-type .work-type-inline-btn {
    width: 100%;
    max-width: none;
    justify-content: center;
}

.page-work-overview .ticket-meta-link {
    display: inline-block;
    color: #475569;
    font-size: 0.76rem;
    line-height: 1.2;
    font-weight: 600;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-decoration: none;
}

.page-work-overview .ticket-meta-link:hover,
.page-work-overview .ticket-meta-link:focus-visible {
    color: #1f2937;
    text-decoration: underline;
}

.ticket-parent-inline-btn {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    width: 100%;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ticket-parent-inline-btn:hover,
.ticket-parent-inline-btn:focus-visible {
    outline: none;
}

.page-work-overview .work-type-inline-btn:hover,
.page-work-overview .work-type-inline-btn:focus-visible {
    border-color: #9ca3af;
    outline: none;
    background: #f1f5f9;
}

.page-work-overview .work-type-inline-btn.is-readonly,
.page-work-overview .work-type-inline-btn:disabled {
    cursor: default;
}

.page-work-overview .work-type-inline-btn.is-readonly:hover,
.page-work-overview .work-type-inline-btn.is-readonly:focus-visible,
.page-work-overview .work-type-inline-btn:disabled:hover,
.page-work-overview .work-type-inline-btn:disabled:focus-visible {
    border-color: #d8dee6;
    background: #f8fafc;
    outline: none;
}

.page-work-overview .work-type-inline-btn #work-type-inline-icon {
    color: #334155;
    font-size: 0.9rem;
    width: 14px;
    text-align: center;
    flex: 0 0 auto;
}

.page-work-overview .work-type-inline-label {
    display: inline-block;
    min-width: 0;
    max-width: min(170px, 30vw);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-work-overview .work-type-inline-caret {
    color: #64748b;
    font-size: 0.68rem;
    margin-left: 2px;
}

.pc-work-type-menu,
.page-gpt-model .work-type-inline-dropdown,
.page-work-overview .work-type-inline-dropdown {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    min-width: 220px;
    max-width: min(300px, calc(100vw - 16px));
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.2);
    padding: 6px;
    z-index: 4325;
}

.page-work-overview .work-type-inline-dropdown.is-visible {
    display: block;
}

.pc-work-type-menu .work-type-inline-dropdown-item,
.page-gpt-model .work-type-inline-dropdown-item,
.page-work-overview .work-type-inline-dropdown-item {
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #111827;
    font-size: 0.87rem;
    padding: 7px 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.page-work-overview .work-type-inline-dropdown-item i {
    width: 16px;
    text-align: center;
    color: #334155;
    flex: 0 0 auto;
}

.page-work-overview .work-type-inline-dropdown-item span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-work-overview .work-type-inline-dropdown-item:hover,
.page-work-overview .work-type-inline-dropdown-item:focus-visible {
    border-color: #e5e7eb;
    background: #f8fafc;
    outline: none;
}

.page-work-overview .work-type-inline-dropdown-item.is-current {
    border-color: #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    font-weight: 700;
}

.page-task-overview .ticket-schedule-item {
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: #f8fafc;
    padding: 4px 6px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    min-height: 34px;
    box-sizing: border-box;
    cursor: pointer;
    width: 100%;
    min-width: 0;
    flex-wrap: nowrap;
    overflow: hidden;
}

.page-task-overview .ticket-schedule-item.has-pending-approval {
    border-color: #f4a7a7;
    background: #fff1f1;
}

.page-task-overview .ticket-schedule-item.has-pending-approval .ticket-schedule-item-label,
.page-task-overview .ticket-schedule-item.has-pending-approval .ticket-schedule-item-value {
    color: #991b1b;
}

.page-task-overview .ticket-schedule-inline.is-readonly .ticket-schedule-item {
    cursor: default;
}

.page-task-overview .ticket-schedule-item.is-readonly {
    cursor: default !important;
}

.page-task-overview .ticket-schedule-item:focus-visible {
    outline: 2px solid #CED5BF;
    outline-offset: 1px;
}

.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-subtask-modal-btn {
    background: var(--pc-level-subtask-bg);
    border-color: var(--pc-level-subtask-bg);
    color: var(--pc-level-subtask-text);
}

.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-subtask-modal-btn:hover,
.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-subtask-modal-btn:focus-visible {
    background: rgba(var(--pc-level-subtask-rgb), 0.85);
    border-color: rgba(var(--pc-level-subtask-rgb), 0.85);
    color: var(--pc-level-subtask-text);
}

.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-work-modal-btn,
.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-auto-work-modal-btn,
.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) .add-work-to-subtask-btn {
    background: var(--pc-level-work-bg);
    border-color: var(--pc-level-work-bg);
    color: var(--pc-level-work-text);
}

.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-work-modal-btn:hover,
.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-work-modal-btn:focus-visible,
.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-auto-work-modal-btn:hover,
.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) #open-auto-work-modal-btn:focus-visible,
.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) .add-work-to-subtask-btn:hover,
.page-task-overview:not(.page-work-overview):not(.page-subtask-overview) .add-work-to-subtask-btn:focus-visible {
    background: rgba(var(--pc-level-work-rgb), 0.88);
    border-color: rgba(var(--pc-level-work-rgb), 0.88);
    color: var(--pc-level-work-text);
}

.page-task-overview .ticket-schedule-item-label {
    font-size: 0.74rem;
    color: #64748b;
    font-weight: 600;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.page-task-overview .ticket-schedule-item[data-schedule-item="prio"] {
    overflow: visible;
    position: relative;
}

.page-task-overview .ticket-priority-info-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.page-task-overview .ticket-priority-info-btn {
    border: 0;
    background: transparent;
    color: #64748b;
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    cursor: pointer;
}

.page-task-overview .ticket-priority-info-btn i {
    font-size: 0.78rem;
    line-height: 1;
}

.page-task-overview .ticket-priority-info-btn:hover,
.page-task-overview .ticket-priority-info-btn:focus-visible {
    color: #56705D;
    outline: none;
}

.page-task-overview .ticket-priority-info-popover {
    position: fixed;
    top: var(--ticket-priority-popover-top, 0);
    left: var(--ticket-priority-popover-left, 0);
    z-index: 10000;
    width: min(360px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    overflow: auto;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #ffffff;
    color: #1f2937;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.18);
    font-size: 0.74rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: normal;
    text-transform: none;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-3px);
    pointer-events: none;
    transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s ease;
}

.page-task-overview .ticket-priority-info-wrap.is-open .ticket-priority-info-popover {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.page-task-overview .ticket-schedule-item-value {
    font-size: 0.78rem;
    color: #1f2937;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-task-overview .ticket-fixed-date-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    font-size: 0.68rem;
    line-height: 1;
    color: #64748b;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
}

.page-task-overview .ticket-fixed-date-toggle input[type="checkbox"] {
    width: 12px;
    height: 12px;
    margin: 0;
    cursor: pointer;
}

.page-task-overview .ticket-schedule-item.is-readonly .ticket-fixed-date-toggle {
    cursor: default;
}

/* Icon-only fixed-date control; legacy checkbox remains an internal event adapter. */
.page-task-overview [data-ticket-date-lock-input] {
    display: none !important;
}
.page-task-overview .ticket-fixed-date-toggle.ticket-date-lock {
    flex: 0 0 30px;
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    box-sizing: border-box;
    justify-content: center;
    padding: 0;
    gap: 0;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: #45634e;
    font-size: 17px;
    line-height: 1;
}
.page-task-overview .ticket-date-lock[aria-pressed="true"] {
    background: #e7efe3;
    border-color: #a6b69c;
}
.page-task-overview .ticket-date-lock:hover:not(:disabled) {
    background: #dbe8d6;
    border-color: #56705d;
}
.page-task-overview .ticket-date-lock:focus-visible {
    outline: 2px solid #34553f;
    outline-offset: -2px;
}
.page-task-overview .ticket-date-lock:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.page-task-overview .ticket-schedule-item:has(.ticket-date-lock) > .ticket-schedule-item-value {
    flex: 1 1 0;
}
.page-task-overview .ticket-schedule-item:has(.ticket-date-lock) > .ticket-schedule-item-input {
    flex: 1 1 0;
    width: 0;
}

.page-task-overview .ticket-schedule-item-input {
    display: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 24px;
    padding: 2px 6px;
    font-size: 0.78rem;
    line-height: 1.1;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #ffffff;
    color: #111827;
    box-sizing: border-box;
    cursor: text;
    flex: 1 1 auto;
}

.page-task-overview .ticket-schedule-duration-input {
    width: 84px;
}

.page-task-overview .ticket-schedule-prio-input {
    width: 72px;
}

.page-task-overview .ticket-schedule-expense-input {
    width: 78px;
}

.page-task-overview .ticket-schedule-confirm-btn {
    display: none;
    border: 1px solid #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    border-radius: 8px;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    flex: 0 0 auto;
}

.page-task-overview .ticket-schedule-confirm-btn i {
    font-size: 0.7rem;
}

.page-task-overview .ticket-schedule-confirm-btn:hover {
    background: #dfe8d4;
    border-color: #b7c5a4;
}

.page-task-overview .ticket-schedule-confirm-btn:disabled {
    cursor: default;
}

.page-task-overview .ticket-schedule-confirm-btn:disabled:hover {
    background: #E9EEE1;
    border-color: #CED5BF;
}

.page-task-overview .ticket-schedule-duration-remove-btn {
    border: 1px solid #d8dee6;
    background: #ffffff;
    color: #475569;
    border-radius: 8px;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    margin-left: auto;
    flex: 0 0 auto;
}

.page-task-overview .ticket-schedule-duration-remove-btn i {
    font-size: 0.66rem;
}

.page-task-overview .ticket-schedule-duration-remove-btn:hover {
    border-color: #f4b4b4;
    color: #b42318;
    background: #fff5f5;
}

.page-task-overview .ticket-schedule-duration-remove-btn:disabled {
    cursor: default;
}

.page-task-overview .ticket-schedule-duration-remove-btn:disabled:hover {
    border-color: #d8dee6;
    color: #475569;
    background: #ffffff;
}

.page-task-overview .ticket-schedule-add-duration-btn {
    border: 1px dashed #CED5BF;
    border-radius: 10px;
    background: #f8fafc;
    color: #1f2937;
    padding: 4px 9px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}

.page-task-overview .ticket-schedule-add-duration-btn:hover {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.page-task-overview .ticket-schedule-add-duration-btn:disabled {
    cursor: default;
}

.page-task-overview .ticket-schedule-add-duration-btn:disabled:hover {
    border-color: #CED5BF;
    background: #f8fafc;
}

.page-task-overview .ticket-schedule-add-duration-btn i {
    font-size: 0.7rem;
}

.page-task-overview .ticket-schedule-item.is-editing .ticket-schedule-item-value {
    display: none;
}

.page-task-overview .ticket-schedule-item.is-editing .ticket-schedule-item-input {
    display: inline-block;
}

.page-task-overview .ticket-schedule-item.is-editing .ticket-schedule-confirm-btn {
    display: inline-flex;
}

.page-task-overview .ticket-form {
    display: grid;
    gap: var(--ticket-overview-gap, 12px);
}

.page-task-overview .task-info-split {
    margin-top: var(--ticket-overview-gap, 12px);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ticket-overview-gap, 12px);
    align-items: start;
}

/* Keep intrinsic content and controls inside their grid tracks. */
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page :is(.task-info-split, .subtask-detail-grid, .ticket-grid) > * {
    min-width: 0;
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page .ticket-grid > .field > :is(#tdescription, #sdescription, #wdescription) {
    min-height: 100px;
    padding: var(--ticket-overview-pad);
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page .subtask-head .head-actions > .btn {
    box-sizing: border-box;
    min-height: 36px;
    height: auto;
    padding: 6px 10px;
}

:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page :is(.task-files-head, .task-files-tabs) {
    flex-wrap: wrap;
    min-width: 0;
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page :is(.task-files-panel-body, .task-file-upload-form, .task-file-upload-btn) {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page .task-file-upload-btn {
    white-space: normal;
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page .task-assignment-panel-copy {
    flex: 1 1 0;
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page .task-assignment-panel-label {
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
}

:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page .task-file-row-main {
    flex-wrap: wrap;
    gap: var(--ticket-overview-gap);
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page .task-file-name-wrap {
    flex: 1 1 160px;
    max-width: 100%;
    gap: var(--ticket-overview-gap);
}
:is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .page .task-file-actions {
    flex-wrap: wrap;
    flex-shrink: 0;
    max-width: 100%;
    gap: var(--ticket-overview-gap);
}

/* The three ticket overviews share one bounded description/files row.
   Dedicated classes keep creation dialogs and other ticket forms unchanged. */
.page-task-overview .ticket-overview-details {
    --ticket-detail-height: 18rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: var(--ticket-overview-gap, 4px);
    margin-top: var(--ticket-overview-gap, 4px);
    min-width: 0;
}
.page-task-overview .ticket-overview-details > *,
.page-task-overview .ticket-overview-details .ticket-grid > * {
    min-width: 0;
}
.page-task-overview .ticket-overview-details .ticket-description-editor,
.page-task-overview .ticket-overview-details > .task-files-panel {
    box-sizing: border-box;
    height: var(--ticket-detail-height);
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.page-task-overview .ticket-overview-details :is(.ticket-description-tabs, .ticket-description-limit, .task-files-head, .task-file-upload-form) {
    flex: 0 0 auto;
}
.page-task-overview .ticket-overview-details [data-description-panel] {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.page-task-overview .ticket-overview-details [data-description-panel] textarea {
    flex: 1 1 0;
    height: 0 !important;
    min-height: 0 !important;
    resize: none;
    overflow: auto;
}
/* Folder tabs belong only to the bounded overview editor, not creation dialogs. */
.page-task-overview .ticket-overview-details .ticket-description-tabs {
    flex-wrap: nowrap;
    gap: 2px;
    margin: 0;
    align-items: stretch;
}
.page-task-overview .ticket-overview-details .ticket-description-tabs [role="tab"] {
    min-width: 0;
    padding: 6px 8px;
    border: 1px solid var(--pc-description-standard-dark);
    border-bottom: 0;
    border-radius: 9px 9px 0 0;
    background: var(--pc-description-standard-medium);
    color: var(--pc-description-standard-text);
    font-weight: 700;
}
.page-task-overview .ticket-overview-details .ticket-description-tabs [aria-selected="true"] {
    background: var(--pc-description-standard-dark);
}
.page-task-overview .ticket-overview-details .ticket-description-tabs [role="tab"]:is(:hover, :focus-visible) {
    color: var(--pc-description-standard-text);
}
.page-task-overview .ticket-overview-details .ticket-description-tabs [role="tab"]:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid var(--pc-description-standard-text);
    outline-offset: -4px;
    box-shadow: 0 0 0 2px var(--pc-description-standard-dark);
}
.page-task-overview .ticket-overview-details [data-description-panel] textarea {
    --ticket-input-radius: 0 0 9px 9px;
    margin: 0;
    border: 1px solid var(--pc-description-standard-dark);
    border-radius: var(--ticket-input-radius);
}
.page-task-overview .ticket-overview-details > .task-files-panel > .task-files-panel-body {
    flex: 1 1 0;
    min-height: 0 !important;
    overflow: auto;
    overscroll-behavior: contain;
}
.page-task-overview .ticket-overview-details .task-file-name {
    white-space: normal;
    overflow-wrap: anywhere;
}
.page-task-overview .ticket-overview-assignments {
    margin-top: var(--ticket-overview-gap, 4px);
    min-width: 0;
}
.page-task-overview .ticket-overview-assignments .task-assignment-overview-head {
    position: relative;
    padding-right: 32px;
}
.page-task-overview .ticket-overview-assignments .task-assignment-overview-head > label {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
}
.page-task-overview .ticket-overview-assignments .task-assignment-overview-head > button {
    position: absolute;
    top: 0;
    right: 0;
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    isolation: isolate;
}
/* Smaller visible button inside a separate, usable pointer target. */
.page-task-overview .ticket-overview-assignments .task-assignment-overview-head > button::before {
    content: '';
    position: absolute;
    inset: 3px;
    z-index: -1;
    border: 1px solid #d8dee6;
    border-radius: 6px;
    background: #ffffff;
}
.page-task-overview .ticket-overview-assignments .task-assignment-overview-head > button:is(:hover, :focus-visible)::before {
    border-color: var(--pc-level-work-bg);
    background: var(--pc-level-task-bg);
}
.page-task-overview .ticket-overview-assignments .task-assignment-overview-head > button:focus-visible {
    outline: 2px solid var(--pc-level-work-bg);
    outline-offset: 0;
}
.page-task-overview .ticket-overview-assignments .task-assignment-overview-head > button > i {
    font-size: .75rem;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panels {
    --assignment-columns: 2;
    /* Keep one row; narrow viewports scroll inside this grid, not the page. */
    grid-template-columns: repeat(var(--assignment-columns), minmax(var(--assignment-card-min-width, 220px), 1fr));
    align-items: start;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panels:has(> :nth-child(3 of .task-assignment-panel:not([hidden]):not(.is-hidden))) {
    --assignment-columns: 3;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panel {
    min-width: 0;
    grid-row: 1;
    container: ticket-assignment-card / inline-size;
}
.page-task-overview .ticket-overview-assignments :is(.task-assignment-panel-line, .task-assignment-panel-list, .task-assignment-supporter-copy, .subtask-supporter-title, .subtask-supporter-meta) {
    white-space: normal;
    overflow-wrap: anywhere;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 4px;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panel-toggle {
    min-width: 0;
    gap: 6px;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panel-copy {
    flex: 1 1 0;
    min-width: 0;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panel-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 3px;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panel-actions:empty { display: none; }
.page-task-overview .ticket-overview-assignments .task-assignment-panel-actions > button {
    flex: 0 0 auto;
    align-self: center;
    box-sizing: border-box;
    margin: 0;
}
.page-task-overview .ticket-overview-assignments .task-assignment-panel-head button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -2px;
}
.page-task-overview .ticket-overview-assignments .is-responsible .task-assignment-panel-toggle:focus-visible {
    outline-color: var(--pc-level-work-text);
}
.page-task-overview .ticket-overview-assignments :is(.task-assignment-panel-label, .task-assignment-panel-title, .task-assignment-panel-meta) {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Density follows each card, including an iframe inside a wide browser window. */
@container ticket-assignment-card (max-width: 360px) {
    .page-task-overview .ticket-overview-assignments .task-assignment-panel-head { padding: 5px; gap: 4px; }
    .page-task-overview .ticket-overview-assignments .task-assignment-panel-toggle { gap: 4px; }
    .page-task-overview .ticket-overview-assignments .task-assignment-panel-icon {
        box-sizing: border-box; width: 22px; min-width: 22px; height: 22px; font-size: .8rem;
    }
    .page-task-overview .ticket-overview-assignments .task-assignment-panel-actions > button {
        width: 24px; min-width: 24px; height: 28px; min-height: 28px;
        padding: 0; border-radius: 7px; font-size: .75rem;
    }
    .page-task-overview .ticket-overview-assignments .task-assignment-panel-label { font-size: .7rem; padding: 2px 4px; }
    .page-task-overview .ticket-overview-assignments .task-assignment-panel-title { font-size: .82rem; line-height: 1.25; }
    .page-task-overview .ticket-overview-assignments .task-assignment-panel-meta { font-size: .75rem; line-height: 1.25; }
}
/* Wrap based on the available ticket area, including a desktop meeting iframe. */
@media (max-width: 760px) {
    .page-task-overview .ticket-overview-details {
        grid-template-columns: minmax(0, 1fr);
    }
}

.page-task-overview .task-info-left .ticket-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-task-overview .task-files-panel {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #f8fafc;
    padding: var(--ticket-overview-pad, 12px);
    display: grid;
    grid-template-rows: auto 1fr;
    gap: var(--ticket-overview-gap, 10px);
    align-self: start;
}

.page-task-overview .task-files-panel h2 {
    margin: 0;
    font-size: 1.02rem;
}

.page-task-overview .task-files-panel .task-section-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
}

.page-task-overview .task-section-title {
    margin: 0;
    color: #111827;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 700;
}

.page-task-overview .task-save-row {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.page-task-overview .task-save-btn {
    min-width: 180px;
}

.page-task-overview .task-save-btn.btn-primary:disabled,
.page-task-overview .task-save-btn.btn-primary:disabled:hover,
.page-task-overview .task-save-btn.btn-primary:disabled:focus-visible {
    background: #ffffff;
    border-color: #56705D;
    color: #56705D;
    opacity: 1;
    cursor: not-allowed;
}

.page-task-overview .task-discard-btn {
    min-width: 180px;
}

.page-task-overview .task-delete-btn {
    min-width: 180px;
}

.page-task-overview .task-transform-btn {
    min-width: 180px;
}

.ticket-transform-modal-open {
    overflow: hidden;
}

.ticket-transform-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 4200;
}

.ticket-transform-modal-shell[hidden] {
    display: none;
}

.ticket-transform-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
}

.ticket-transform-modal-card {
    position: relative;
    width: min(820px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    margin: 24px auto;
    border: 1px solid #d8dee6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.28);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.ticket-transform-modal-head {
    padding: 18px 22px;
    border-bottom: 1px solid #edf1f6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.ticket-transform-title-wrap {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.ticket-transform-title-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #E9EEE1;
    color: #56705D;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 1.2rem;
}

.ticket-transform-modal-head h2 {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.2;
}

.ticket-transform-close-btn {
    width: 40px;
    height: 40px;
    border: 1px solid #c8d1dc;
    border-radius: 12px;
    background: #ffffff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.ticket-transform-close-btn:hover {
    background: #f8fafc;
    border-color: #CED5BF;
}

.ticket-transform-modal-body {
    padding: 20px 22px;
    overflow: auto;
}

.ticket-transform-modal-actions {
    padding: 16px 22px;
    border-top: 1px solid #edf1f6;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    background: #ffffff;
}

.ticket-transform-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 18px;
}

.ticket-transform-step {
    border: 1px solid #d8dee6;
    border-radius: 999px;
    padding: 7px 10px;
    color: #64748b;
    background: #f8fafc;
    font-size: 0.76rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
}

.ticket-transform-step span {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #e2e8f0;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
}

.ticket-transform-step.is-active,
.ticket-transform-step.is-done {
    border-color: #56705D;
    color: #334155;
    background: #E9EEE1;
}

.ticket-transform-step.is-active span,
.ticket-transform-step.is-done span {
    background: #56705D;
    color: #ffffff;
}

.ticket-transform-section {
    display: grid;
    gap: 14px;
}

.ticket-transform-section h3 {
    margin: 0;
    color: #334155;
    font-size: 0.96rem;
    font-weight: 700;
}

.ticket-transform-source,
.ticket-transform-small-note {
    margin: 0;
    color: #475569;
    font-size: 0.9rem;
    line-height: 1.45;
}

.ticket-transform-source strong {
    font-weight: 700;
}

.ticket-transform-small-note {
    font-size: 0.84rem;
}

.ticket-transform-target-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 10px;
}

.ticket-transform-target-card {
    border: 1px solid #d8dee6;
    border-radius: 14px;
    background: #ffffff;
    color: #1f2937;
    min-height: 82px;
    padding: 12px;
    display: grid;
    place-items: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
}

.ticket-transform-target-card:hover,
.ticket-transform-target-card.is-active {
    border-color: #56705D;
    background: #E9EEE1;
    color: #334155;
    font-weight: 700;
}

.ticket-transform-target-card i {
    font-size: 1.25rem;
}

.ticket-transform-fields {
    display: grid;
    gap: 12px;
}

.ticket-transform-field {
    display: grid;
    gap: 7px;
}

.ticket-transform-field span,
.ticket-transform-check span {
    color: #334155;
    font-size: 0.88rem;
    font-weight: 600;
}

.ticket-transform-field select {
    width: 100%;
    min-height: 46px;
    border: 1px solid #CED5BF;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    padding: 9px 12px;
    font: inherit;
    font-size: 0.9rem;
}

.ticket-transform-field select:focus {
    outline: none;
    border-color: #56705D;
    box-shadow: 0 0 0 4px rgba(86, 112, 93, 0.14);
}

.ticket-transform-note {
    border: 1px solid #d8dee6;
    border-radius: 14px;
    background: #f8fafc;
    color: #475569;
    font-size: 0.86rem;
    padding: 12px 14px;
    line-height: 1.45;
}

.ticket-transform-check {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 5px;
    width: auto;
}

.ticket-transform-check input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 0;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    padding: 0 !important;
    accent-color: #56705D;
}

.ticket-transform-check span {
    flex: 0 1 auto;
}

.ticket-transform-summary {
    margin: 0;
    display: grid;
    gap: 10px;
}

.ticket-transform-summary div {
    border: 1px solid #d8dee6;
    border-radius: 14px;
    background: #ffffff;
    padding: 10px 12px;
    display: grid;
    gap: 3px;
}

.ticket-transform-summary dt {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ticket-transform-summary dd {
    margin: 0;
    color: #111827;
    font-size: 0.9rem;
    font-weight: 500;
}

.ticket-transform-loading,
.ticket-transform-empty,
.ticket-transform-error {
    border: 1px solid #d8dee6;
    border-radius: 14px;
    padding: 16px;
    color: #475569;
    font-size: 0.9rem;
    background: #f8fafc;
}

.ticket-transform-error {
    border-color: #fecaca;
    color: #991b1b;
    background: #fff1f2;
}

.page-task-overview .task-files-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ticket-overview-gap, 10px);
}

.page-task-overview .task-files-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.page-task-overview .task-files-tab {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #334155;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-task-overview .task-files-tab:hover {
    border-color: #CED5BF;
    color: #56705D;
}

.page-task-overview .task-files-tab.is-active {
    background: #56705D;
    border-color: #56705D;
    color: #ffffff;
}

.page-task-overview .task-files-tab-panel[hidden] {
    display: none;
}

.page-task-overview .task-files-panel-body {
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    min-height: var(--ticket-overview-empty-height, 240px);
    padding: var(--ticket-overview-pad, 10px);
    overflow: auto;
}

.page-task-overview .task-files-message {
    margin: 0;
    color: #4b5563;
    font-size: 0.88rem;
}

.page-task-overview .task-files-message.is-error {
    color: #9f1239;
}

.page-task-overview .task-file-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: var(--ticket-overview-gap, 8px);
}

.page-task-overview .task-file-group + .task-file-group {
    margin-top: var(--ticket-overview-gap, 12px);
}

.page-task-overview .task-file-group-title {
    margin: 0 0 7px;
    font-size: 0.82rem;
    color: #475569;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-task-overview .task-file-group-title i {
    font-size: 0.9rem;
}

.page-task-overview .task-file-item {
    border: 1px solid #e5e7eb;
    border-radius: 9px;
    padding: var(--ticket-overview-pad, 8px) var(--ticket-overview-pad, 9px);
    display: grid;
    gap: 5px;
    background: #f8fafc;
}

.page-task-overview .task-file-row-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.page-task-overview .task-file-name-wrap {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    color: #111827;
    min-width: 0;
}

.page-task-overview .task-file-name {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

.page-task-overview .task-file-version-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 1px 7px;
    font-size: 0.72rem;
    color: #334155;
    background: #ffffff;
    font-weight: 700;
}

.page-task-overview .task-file-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-task-overview .task-file-download-btn {
    text-decoration: none;
}

.page-task-overview .task-file-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #6b7280;
    font-size: 0.78rem;
}

.page-task-overview :is(#subtask-modal, #work-modal) .modal-card,
.page-project-overview.page-project-plan :is(#task-modal, #subtask-modal, #work-modal) .modal-card {
    width: 80vw;
    max-width: 80vw;
}

.task-form-grid > .add-ticket-description-files-grid.full,
.add-ticket-description-files-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

.add-ticket-description-files-grid.add-ticket-files-hidden {
    grid-template-columns: 1fr;
}

.add-ticket-description-column,
.add-ticket-files-column {
    min-width: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
}

.add-ticket-description-column {
    min-height: 0;
}

.add-ticket-description-column .text-area {
    flex: 1 1 auto;
    min-height: 240px;
    box-sizing: border-box;
}

.add-ticket-files-panel.task-files-panel {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #f8fafc;
    padding: 12px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-self: stretch;
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 240px;
    box-sizing: border-box;
}

.add-ticket-files-panel .task-files-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.add-ticket-files-panel .task-files-head h2,
.add-ticket-files-panel .task-section-title {
    margin: 0;
    color: #111827;
    font-size: 1.02rem;
    line-height: 1.3;
    font-weight: 700;
}

.add-ticket-files-panel .task-files-panel-body {
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    min-height: 170px;
    padding: 10px;
    overflow: auto;
}

.add-ticket-files-panel .task-files-message {
    margin: 0;
    color: #4b5563;
    font-size: 0.88rem;
    line-height: 1.45;
}

.add-ticket-files-panel .task-file-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.add-ticket-files-panel .task-file-group-title {
    margin: 0 0 7px;
    font-size: 0.82rem;
    color: #475569;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.add-ticket-files-panel .task-file-group-title i {
    font-size: 0.9rem;
}

.add-ticket-files-panel .task-file-row-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.add-ticket-files-panel .task-file-name-wrap {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    color: #111827;
    min-width: 0;
}

.add-ticket-files-panel .task-file-name {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

.add-ticket-files-panel .task-file-version-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 1px 7px;
    font-size: 0.72rem;
    color: #334155;
    background: #ffffff;
    font-weight: 700;
}

.add-ticket-files-panel .task-file-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.add-ticket-files-panel .task-file-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #6b7280;
    font-size: 0.78rem;
}

.add-ticket-file-upload-form {
    margin-top: 0;
}

.add-ticket-file-upload-form .task-file-upload-btn {
    width: 100%;
    justify-content: center;
}

.add-ticket-file-window {
    min-height: 180px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.add-ticket-file-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.add-ticket-file-empty {
    margin: 0;
    color: #6b7280;
    font-size: 0.9rem;
    line-height: 1.45;
}

.add-ticket-file-actions {
    margin-top: auto;
    display: flex;
    justify-content: flex-end;
}

.add-ticket-file-item {
    border: 1px solid #e5e7eb;
    border-radius: 9px;
    padding: 8px 9px;
    display: grid;
    gap: 5px;
    background: #f8fafc;
    opacity: 0.48;
}

.add-ticket-file-item .task-file-row-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.add-ticket-file-item .task-file-name-wrap {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    color: #111827;
    min-width: 0;
}

.add-ticket-file-item .task-file-name {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

.add-ticket-file-item .task-file-version-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 1px 7px;
    font-size: 0.72rem;
    color: #334155;
    background: #ffffff;
    font-weight: 700;
}

.add-ticket-file-item .task-file-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.add-ticket-file-item .task-file-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #6b7280;
    font-size: 0.78rem;
}

.page-task-overview .task-file-history {
    margin-top: 6px;
    border: 1px solid #d8dee6;
    border-radius: 8px;
    background: #ffffff;
    padding: 8px;
}

.page-task-overview .task-file-history-head {
    font-size: 0.76rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 6px;
}

.page-task-overview .task-file-history-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
}

.page-task-overview .task-file-history-item {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 6px 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.page-task-overview .task-file-history-info {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.76rem;
    color: #475569;
}

.page-task-overview .task-file-history-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-task-overview .task-file-history-version {
    font-weight: 700;
    color: #1f2937;
}

.page-task-overview .task-file-history-empty {
    margin: 0;
    font-size: 0.78rem;
    color: #6b7280;
}

.page-task-overview .modal-actions-file-delete {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.page-task-overview .task-file-upload-form {
    margin-top: var(--ticket-overview-gap, 10px);
}

.page-task-overview .task-file-input {
    display: none;
}

.page-task-overview .task-file-upload-btn {
    width: 100%;
    justify-content: center;
}

.page-task-overview .task-file-upload-overlay-card {
    width: min(460px, calc(100vw - 24px));
}

.page-task-overview .task-file-upload-progress-text {
    margin: 0 0 10px;
    font-size: 0.92rem;
    color: #334155;
}

.page-task-overview .task-file-upload-progress-track {
    width: 100%;
    height: 12px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
    border: 1px solid #d1d5db;
}

.page-task-overview .task-file-upload-progress-bar {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #56705D 0%, #56705D 100%);
    transition: width 0.2s ease;
}

.page-task-overview .task-file-upload-progress-value {
    margin: 10px 0 0;
    font-size: 0.88rem;
    font-weight: 700;
    color: #1f2937;
    text-align: right;
}

.page-task-overview .task-ai-process-card {
    width: min(520px, calc(100vw - 24px));
}

.page-task-overview .task-ai-process-progress-head {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
}

.page-task-overview .task-ai-process-progress-label {
    font-size: 0.88rem;
    font-weight: 700;
    color: #334155;
}

.page-task-overview .task-ai-process-progress-track {
    width: 100%;
    height: 12px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
    border: 1px solid #d1d5db;
}

.page-task-overview .task-ai-process-progress-bar {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #56705D 0%, #56705D 100%);
    transition: width 0.22s ease;
}

.page-task-overview .task-ai-process-checklist {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.page-task-overview .task-ai-process-step {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.92rem;
    color: #111827;
    font-weight: 400;
}

.page-task-overview .task-ai-process-step.is-active,
.page-task-overview .task-ai-process-step.is-success {
    color: var(--brand);
    font-weight: 700;
}

.page-task-overview .task-ai-process-step.is-error {
    color: #b91c1c;
    font-weight: 700;
}

.page-task-overview .task-ai-process-step-icon {
    width: 18px;
    min-width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.page-task-overview .task-ai-process-step-icon-circle {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 1.6px solid #94a3b8;
    display: block;
}

.page-task-overview .task-ai-process-step-spinner {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 2px solid #d6e0cf;
    border-top-color: var(--brand);
    animation: task-ai-process-spin 1.35s linear infinite;
}

.page-task-overview .task-ai-process-error {
    margin-top: 16px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #b91c1c;
    font-size: 0.9rem;
    line-height: 1.45;
}

.page-task-overview .task-ai-process-error[hidden] {
    display: none;
}

.page-task-overview .task-ai-process-actions[hidden] {
    display: none;
}

.page-task-overview .task-ai-review-card {
    width: min(900px, calc(100vw - 24px));
}

.page-task-overview .task-ai-review-intro {
    margin: 0 0 14px;
    color: #334155;
    font-size: 0.95rem;
}

.page-task-overview .task-ai-review-list {
    display: grid;
    gap: 10px;
    max-height: min(55vh, 520px);
    overflow: auto;
    padding-right: 4px;
}

.page-task-overview .task-ai-review-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border: 1px solid #d6dee8;
    border-radius: 14px;
    background: #fff;
}

.page-task-overview .task-ai-review-check {
    display: inline-flex;
    align-items: flex-start;
    padding-top: 2px;
    cursor: pointer;
}

.page-task-overview .task-ai-review-check input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--brand);
}

.page-task-overview .task-ai-review-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    color: #111827;
}

.page-task-overview .task-ai-review-title-row strong {
    font-size: 1rem;
    line-height: 1.25;
}

.page-task-overview .task-ai-review-title-row span {
    flex: 0 0 auto;
    color: #56705D;
    font-size: 0.85rem;
    font-weight: 700;
}

.page-task-overview .task-ai-review-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 12px;
    margin-top: 8px;
    color: #475569;
    font-size: 0.85rem;
}

.page-task-overview .task-ai-review-description {
    margin: 8px 0 0;
    color: #334155;
    font-size: 0.88rem;
    line-height: 1.45;
}

.page-task-overview .task-ai-review-error {
    margin-top: 14px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #fecaca;
    background: #fff1f2;
    color: #b91c1c;
    font-size: 0.9rem;
    line-height: 1.45;
}

.page-task-overview .task-ai-review-error[hidden] {
    display: none;
}

@media (max-width: 700px) {
    .page-task-overview .task-ai-review-meta {
        grid-template-columns: 1fr;
    }
}

.page-task-overview .ticket-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ticket-overview-gap, 12px);
}

.page-task-overview .field {
    display: grid;
    gap: 6px;
}

.page-task-overview .field-owner {
    align-content: start;
}

.page-task-overview .field-wide {
    grid-column: span 2;
}

.page-task-overview .field-full {
    grid-column: 1 / -1;
}

.page-task-overview .btn-small {
    padding: 7px 10px;
    font-size: 0.82rem;
}

.page-task-overview .icon-btn-square {
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 9px;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-control {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-sections {
    display: grid;
    gap: 0;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-section {
    margin: 0;
    padding: 0;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-section + .task-modal-section {
    border-top: 1px solid #edf1f6;
    margin-top: 10px;
    padding-top: 10px;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-section-summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0;
    cursor: pointer;
    user-select: none;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-section-summary::-webkit-details-marker {
    display: none;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-section-title {
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.2;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-section-arrow {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #56705D;
    flex: 0 0 auto;
    transition: transform 0.18s ease;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-section[open] .task-modal-section-arrow {
    transform: rotate(90deg);
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-modal-section-body {
    padding-top: 10px;
}

.page-task-overview :is(#work-modal, #subtask-modal) .field-label-inline {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 6px;
}

.page-task-overview :is(#work-modal, #subtask-modal) .field-label-inline .field-label {
    margin: 0;
}

.page-task-overview :is(#work-modal, #subtask-modal) .inline-info {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.page-task-overview :is(#work-modal, #subtask-modal) .inline-info summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 1px solid #cfd8e3;
    background: #ffffff;
    color: #56705D;
    cursor: pointer;
    list-style: none;
    transition: all 0.2s ease;
}

.page-task-overview :is(#work-modal, #subtask-modal) .inline-info summary::-webkit-details-marker {
    display: none;
}

.page-task-overview :is(#work-modal, #subtask-modal) .inline-info summary:hover,
.page-task-overview :is(#work-modal, #subtask-modal) .inline-info summary:focus-visible {
    border-color: #b8c6d6;
    background: #f8fafc;
}

.page-task-overview :is(#work-modal, #subtask-modal) .inline-info-popover {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: min(360px, calc(100vw - 80px));
    max-width: calc(100vw - 80px);
    padding: 12px 14px;
    border: 1px solid #dbe3ed;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(18, 24, 33, 0.12);
    color: #4b5563;
    font-size: 0.88rem;
    line-height: 1.45;
    z-index: 30;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-section-stack {
    display: grid;
    gap: 12px;
    align-content: start;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box {
    width: 100%;
    min-height: 48px;
    border: 1px solid #c8d1dc;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box:hover,
.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box:focus-visible {
    border-color: #CED5BF;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.18);
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box.is-empty {
    color: #56705D;
    background: #F4F7EF;
    border-color: #CED5BF;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box-content {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box-icon {
    width: 22px;
    min-width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #56705D;
    font-size: 1rem;
    margin-top: 1px;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.3;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box.is-empty .task-assignment-box-title {
    color: #56705D;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-box-meta {
    font-size: 0.8rem;
    line-height: 1.4;
    color: #64748b;
    word-break: break-word;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-clear {
    width: 42px;
    min-width: 42px;
    height: 48px;
    padding: 0;
    justify-content: center;
    border-color: #efc1bf;
    color: #b42318;
    background: #fff5f5;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-clear:hover,
.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-clear:focus-visible {
    background: #ffe8e6;
    border-color: #e88984;
}

.page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-clear[hidden] {
    display: none !important;
}

.page-task-overview #work-assignment-modal.modal-shell {
    position: fixed;
    inset: 0;
    z-index: 3010;
}

.page-task-overview #work-assignment-modal.modal-shell[hidden] {
    display: none !important;
}

.page-task-overview #work-assignment-modal .modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.page-task-overview #work-assignment-modal .modal-card {
    position: relative;
    width: min(860px, calc(100vw - 24px));
    max-height: calc(100vh - 40px);
    margin: 20px auto;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #d8dee6;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-task-overview #work-assignment-modal .modal-head {
    padding: 18px 20px 10px;
    border-bottom: 1px solid #edf1f6;
}

.page-task-overview #work-assignment-modal .modal-head h2 {
    margin: 0;
    font-size: 1.15rem;
}

.page-task-overview #work-assignment-modal .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px 18px;
    border-top: 1px solid #edf1f6;
}

.page-task-overview .task-assignment-picker-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 16px 20px 14px;
}

.page-task-overview .task-assignment-picker-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    color: #526072;
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.page-task-overview .task-assignment-picker-tab.is-active {
    border-color: #CED5BF;
    background: #F4F7EF;
    color: #56705D;
}

.page-task-overview .task-assignment-picker-panel[hidden] {
    display: none !important;
}

.page-task-overview .task-assignment-picker-panel {
    padding: 0 20px 8px;
}

.page-task-overview .task-assignment-table-wrap {
    border: 1px solid #d8dee6;
    border-radius: 14px;
    overflow: auto;
    max-height: 380px;
    background: #ffffff;
}

.page-task-overview .task-assignment-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.page-task-overview .task-assignment-table th,
.page-task-overview .task-assignment-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #edf1f6;
    text-align: left;
    font-size: 0.9rem;
    vertical-align: top;
}

.page-task-overview .task-assignment-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8fafc;
    color: #526072;
    font-size: 0.82rem;
    font-weight: 700;
}

.page-task-overview .task-assignment-table tbody tr {
    cursor: pointer;
    transition: background 0.16s ease, box-shadow 0.16s ease;
}

.page-task-overview .task-assignment-table tbody tr:hover {
    background: #f8fafc;
}

.page-task-overview .task-assignment-table tbody tr.is-selected {
    background: #F4F7EF;
    box-shadow: inset 0 0 0 1px #56705D;
}

.page-task-overview .task-assignment-table tbody tr:last-child td {
    border-bottom: 0;
}

.page-task-overview .task-assignment-members-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #56705D;
    font-weight: 700;
}

.page-task-overview .task-assignment-tooltip {
    position: fixed;
    z-index: 3015;
    max-width: 320px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #d8dee6;
    background: #ffffff;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.14);
    color: #334155;
    font-size: 0.82rem;
    line-height: 1.45;
    white-space: pre-line;
    pointer-events: none;
}

.page-task-overview .task-assignment-empty {
    padding: 18px 16px;
    text-align: center;
    color: #64748b;
    font-size: 0.9rem;
}

.page-task-overview .task-child-actions-field {
    align-content: start;
}

.page-task-overview .task-child-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.page-task-overview .subtask-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ticket-overview-gap, 12px);
    margin-bottom: var(--ticket-overview-gap, 10px);
}

.page-task-overview .subtask-head h2 {
    margin: 0;
    font-size: 1.12rem;
}

.page-task-overview .head-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.page-task-overview .task-ai-work-btn {
    height: 44px;
}

.page-task-overview .task-ai-work-btn {
    min-width: 156px;
}

.page-task-overview .task-ai-work-btn .bi {
    font-size: 1rem;
}

.page-task-overview .task-ai-work-btn-label {
    display: inline-block;
    font-size: 0.56rem;
    line-height: 1.05;
    text-align: left;
    white-space: normal;
}

.page-task-overview .active-phase-task-group + .active-phase-task-group {
    margin-top: 14px;
}

.page-task-overview .active-phase-task-subtitle {
    margin: 0 0 8px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1f2937;
}

.page-task-overview .active-phase-tasks-empty {
    margin: 0;
    color: #4b5563;
    font-size: 0.9rem;
}

.page-task-overview .active-phase-task-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.page-task-overview .active-phase-task-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 880px;
    background: #ffffff;
}

.page-task-overview .active-phase-task-table th,
.page-task-overview .active-phase-task-table td {
    border-bottom: 1px solid #edf1f5;
    vertical-align: middle;
    text-align: left;
    padding: 0;
}

.page-task-overview .active-phase-task-table th {
    font-size: 0.82rem;
    color: #6b7280;
    background: #f8fafc;
    font-weight: 700;
    padding: 11px 12px;
}

.page-task-overview .active-phase-task-table tr:last-child td {
    border-bottom: none;
}

.page-task-overview .active-phase-task-link {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    color: #111827;
    font-size: 0.9rem;
    line-height: 1.4;
}

.page-task-overview .active-phase-task-table th:last-child,
.page-task-overview .active-phase-task-table td:last-child {
    width: 220px;
    min-width: 220px;
    text-align: center;
}

.page-task-overview .active-phase-task-table.work-list-table th:nth-child(6),
.page-task-overview .active-phase-task-table.work-list-table td:nth-child(6) {
    width: 88px;
    min-width: 88px;
    text-align: center;
}

.page-task-overview .active-phase-task-table.work-list-table th.work-list-actions-col,
.page-task-overview .active-phase-task-table.work-list-table td.work-list-actions-cell {
    width: 64px;
    min-width: 64px;
    text-align: center;
}

.page-task-overview .work-list-actions-cell {
    padding: 6px 8px !important;
}

.page-task-overview .work-list-actions-cell .work-row-actions {
    justify-content: center;
}

.page-task-overview .active-phase-task-status-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 30px;
    margin: 4px auto;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    font-size: 1rem;
    color: #000000;
    cursor: pointer;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.page-task-overview .active-phase-task-status-btn i {
    color: #000000;
}

.page-task-overview .active-phase-task-status-btn:hover,
.page-task-overview .active-phase-task-status-btn:focus-visible {
    border-color: #9ca3af;
    background: transparent;
    outline: none;
}

.page-task-overview .active-phase-task-status-btn.is-readonly,
.page-task-overview .active-phase-task-status-btn:disabled {
    cursor: default;
}

.page-task-overview .active-phase-task-status-btn.is-readonly:hover,
.page-task-overview .active-phase-task-status-btn.is-readonly:focus-visible,
.page-task-overview .active-phase-task-status-btn:disabled:hover,
.page-task-overview .active-phase-task-status-btn:disabled:focus-visible {
    border-color: transparent;
    background: transparent;
    outline: none;
}

.page-task-overview .task-head-status-dropdown {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    min-width: 220px;
    max-width: min(280px, calc(100vw - 16px));
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.2);
    padding: 6px;
    z-index: 4320;
}

.page-task-overview .task-head-status-dropdown.is-visible {
    display: block;
}

.page-task-overview .task-head-status-dropdown-item {
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #111827;
    font-size: 0.87rem;
    padding: 7px 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.page-task-overview .task-head-status-dropdown-item i {
    width: 16px;
    text-align: center;
    color: #000000;
    flex: 0 0 auto;
}

.page-task-overview .task-head-status-dropdown-item span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-task-overview .task-head-status-dropdown-item:hover,
.page-task-overview .task-head-status-dropdown-item:focus-visible {
    border-color: #e5e7eb;
    background: #f8fafc;
    outline: none;
}

.page-task-overview .task-head-status-dropdown-item.is-current {
    border-color: #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    font-weight: 700;
}

.page-work-overview .active-phase-task-status-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 30px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: transparent;
    color: #111827;
    padding: 0;
    cursor: pointer;
}

.page-work-overview .active-phase-task-status-btn i {
    font-size: 1rem;
    line-height: 1;
}

.page-work-overview .active-phase-task-status-btn:hover,
.page-work-overview .active-phase-task-status-btn:focus-visible {
    border-color: #d8dee6;
    background: #f8fafc;
    outline: none;
}

.page-work-overview .active-phase-task-status-btn.is-readonly,
.page-work-overview .active-phase-task-status-btn:disabled {
    cursor: default;
    opacity: 0.7;
}

.page-work-overview .active-phase-task-status-btn.is-readonly:hover,
.page-work-overview .active-phase-task-status-btn.is-readonly:focus-visible,
.page-work-overview .active-phase-task-status-btn:disabled:hover,
.page-work-overview .active-phase-task-status-btn:disabled:focus-visible {
    border-color: transparent;
    background: transparent;
    outline: none;
}

.page-work-overview .task-head-status-btn {
    width: 36px;
    height: 30px;
    margin: 0;
}

.page-work-overview .task-head-status-dropdown {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    min-width: 220px;
    max-width: min(280px, calc(100vw - 16px));
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.2);
    padding: 6px;
    z-index: 4320;
}

.page-work-overview .task-head-status-dropdown.is-visible {
    display: block;
}

.page-work-overview .task-head-status-dropdown-item {
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #111827;
    font-size: 0.87rem;
    padding: 7px 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.page-work-overview .task-head-status-dropdown-item i {
    width: 16px;
    text-align: center;
    color: #000000;
    flex: 0 0 auto;
}

.page-work-overview .task-head-status-dropdown-item span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-work-overview .task-head-status-dropdown-item:hover,
.page-work-overview .task-head-status-dropdown-item:focus-visible {
    border-color: #e5e7eb;
    background: #f8fafc;
    outline: none;
}

.page-work-overview .task-head-status-dropdown-item.is-current {
    border-color: #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    font-weight: 700;
}

.page-task-overview .work-status-indicator {
    cursor: default;
    flex: 0 0 auto;
}

.page-task-overview .work-status-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px 8px;
}

.page-task-overview .work-row-actions {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.page-task-overview .work-section-row td {
    background: #f8fafc;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    padding: 0;
}

.page-task-overview .work-section-row.is-row-link {
    cursor: pointer;
}

.page-task-overview .work-section-headline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.page-task-overview .work-section-left {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
}

.page-task-overview .work-section-row.is-direct td {
    background: #f1f5f9;
}

.page-task-overview .work-section-toggle,
.page-task-overview .work-section-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 12px;
    font-size: 0.87rem;
    font-weight: 700;
    color: #1e293b;
}

.page-task-overview .work-section-toggle {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding-right: 4px;
}

.page-task-overview .work-section-row.is-row-link .work-section-label,
.page-task-overview .work-section-row.is-row-link .work-section-meta,
.page-task-overview .work-section-row.is-row-link .work-section-left,
.page-task-overview .work-section-row.is-row-link .work-section-headline {
    cursor: pointer;
}

.page-task-overview .work-section-toggle:hover {
    color: #0f172a;
}

.page-task-overview .work-section-meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 2px;
    font-size: 0.78rem;
    color: #64748b;
    padding-right: 10px;
}

.page-task-overview .work-section-row-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
}

.page-task-overview .work-cell {
    display: grid;
    gap: 4px;
}

.page-task-overview .dependency-note {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.35;
}

.page-task-overview .work-list-row > td {
    background: #ffffff;
}

.page-task-overview .work-list-row.is-row-link > td {
    cursor: pointer;
}

.page-task-overview .work-list-row .active-phase-task-link {
    background: transparent;
}

.page-task-overview .work-list-row.is-row-link:focus-visible > td {
    outline: 2px solid #cbd5e1;
    outline-offset: -2px;
}

.page-task-overview .work-list-row.is-warning > td {
    background: rgba(250, 204, 21, 0.2);
}

.page-task-overview .work-list-row.is-overdue > td {
    background: #fff1f2;
}

.page-task-overview .work-list-row.is-done > td {
    background: #f3f4f6;
}

.page-task-overview .work-list-row.is-done .active-phase-task-link {
    color: #374151;
}

.page-task-overview .active-phase-task-table tbody .work-list-row:hover > td {
    background: #E9EEE1;
}

.page-task-overview .active-phase-task-table tbody .work-list-row.is-warning:hover > td {
    background: rgba(250, 204, 21, 0.28);
}

.page-task-overview .active-phase-task-table tbody .work-list-row.is-overdue:hover > td {
    background: #ffe4e8;
}

.page-task-overview .active-phase-task-table tbody .work-list-row.is-done:hover > td {
    background: #e5e7eb;
}

.page-task-overview .active-phase-task-table tbody .work-list-row:hover .active-phase-task-link,
.page-task-overview .active-phase-task-table tbody .work-list-row.is-warning:hover .active-phase-task-link,
.page-task-overview .active-phase-task-table tbody .work-list-row.is-overdue:hover .active-phase-task-link,
.page-task-overview .active-phase-task-table tbody .work-list-row.is-done:hover .active-phase-task-link {
    background: transparent;
}

.page-task-overview .active-phase-hover-note {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    pointer-events: none;
    z-index: 4200;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    padding: 8px 10px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.16);
    font-size: 0.83rem;
    font-weight: 700;
    line-height: 1.35;
    max-width: min(320px, calc(100vw - 16px));
}

.page-task-overview .active-phase-hover-note.is-visible {
    display: block;
}

.page-task-overview .active-phase-hover-note.is-warning {
    color: #92400e;
}

.page-task-overview .active-phase-hover-note.is-overdue {
    color: #9f1239;
}

.page-task-overview .work-status-dropdown {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    min-width: 190px;
    max-width: min(240px, calc(100vw - 16px));
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.2);
    padding: 6px;
    z-index: 4300;
}

.page-task-overview .work-status-dropdown.is-visible {
    display: block;
}

.page-task-overview .work-status-dropdown-item {
    width: 100%;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #111827;
    font-size: 0.87rem;
    padding: 7px 8px;
    cursor: pointer;
}

.page-task-overview .work-status-dropdown-item:hover,
.page-task-overview .work-status-dropdown-item:focus-visible {
    border-color: #e5e7eb;
    background: #f8fafc;
    outline: none;
}

.page-task-overview .work-status-dropdown-item.is-current {
    border-color: #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    font-weight: 700;
}

.page-task-overview .work-status-dropdown-item:disabled {
    opacity: 0.65;
    cursor: default;
}

.page-task-overview .hierarchy-block + .hierarchy-block {
    margin-top: 12px;
}

.page-task-overview .hierarchy-title {
    margin: 0 0 8px;
    font-size: 0.98rem;
    color: #1f2937;
}

.page-task-overview .subtasks-wrap {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    overflow: auto;
    background: #ffffff;
}

.page-task-overview .work-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.page-task-overview .work-table th,
.page-task-overview .work-table td {
    border-bottom: 1px solid #e6ebf2;
    padding: 10px 12px;
    vertical-align: top;
    text-align: left;
    font-size: 0.9rem;
    color: #1f2937;
    white-space: normal;
    word-break: break-word;
}

.page-task-overview .work-table th {
    font-size: 0.78rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #475569;
    background: #f8fafc;
}

.page-task-overview .work-table tbody tr:last-child td {
    border-bottom: 0;
}

.page-task-overview .work-type-col {
    width: 16%;
}

.page-task-overview .work-name-col {
    width: 34%;
}

.page-task-overview .work-owner-col {
    width: 19%;
}

.page-task-overview .work-supporter-col {
    width: 21%;
}

.page-task-overview .action-col {
    width: 14%;
    min-width: 132px;
}

.page-task-overview .work-type {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.page-task-overview .work-name-stack {
    display: grid;
    gap: 5px;
}

.page-task-overview .dependency-note {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: #64748b;
    line-height: 1.35;
}

.page-task-overview .empty-row {
    text-align: center;
    color: #64748b;
    background: #fcfdff;
}

.page-task-overview .subtask-card-list {
    display: grid;
    gap: 10px;
}

.page-task-overview .work-inline-empty {
    margin: 0;
    border: 1px dashed #CED5BF;
    border-radius: 10px;
    padding: 12px;
    color: #64748b;
    font-size: 0.9rem;
    background: #fcfdff;
}

.page-task-overview .subtask-card {
    border: 1px solid #CED5BF;
    border-radius: 12px;
    background: #ffffff;
}

.page-task-overview .subtask-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-bottom: 1px solid #e6ebf2;
}

.page-task-overview .subtask-card-title {
    margin: 0;
    font-size: 0.98rem;
    color: #111827;
}

.page-task-overview .subtask-card-meta {
    margin: 4px 0 0;
    font-size: 0.84rem;
    color: #475569;
}

.page-task-overview .subtask-card-content {
    padding: 12px;
}

.page-task-overview .row-action-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.page-task-overview .add-work-to-subtask-btn {
    white-space: nowrap;
}

.page-task-overview .dependency-task-select-wrap {
    margin-bottom: 12px;
}

.page-task-overview .dependency-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

.page-task-overview .dependency-column {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    overflow: hidden;
    min-height: 260px;
    display: flex;
    flex-direction: column;
}

.page-task-overview .dependency-column-head {
    padding: 10px 12px;
    border-bottom: 1px solid #e6ebf2;
    background: #f8fafc;
}

.page-task-overview .dependency-column-head h3 {
    margin: 0;
    font-size: 0.86rem;
    color: #334155;
}

.page-task-overview .dependency-list {
    flex: 1;
    overflow: auto;
}

.page-task-overview .dependency-row {
    padding: 9px 12px;
    border-bottom: 1px solid #E9EEE1;
    cursor: pointer;
    transition: background-color 0.12s ease;
}

.page-task-overview .dependency-row:hover {
    background: #E9EEE1;
}

.page-task-overview .dependency-row.is-selected {
    background: #E9EEE1;
}

.page-task-overview .dependency-row.is-disabled {
    opacity: 0.52;
    cursor: not-allowed;
}

.page-task-overview .dependency-row:last-child {
    border-bottom: 0;
}

.page-task-overview .dependency-row-title {
    font-size: 0.86rem;
    font-weight: 600;
    color: #1f2937;
}

.page-task-overview .dependency-row-meta {
    margin-top: 2px;
    font-size: 0.76rem;
    color: #64748b;
}

.page-task-overview .dependency-empty {
    padding: 16px 12px;
    color: #64748b;
    font-size: 0.85rem;
}

.page-task-overview .dependency-transfer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

.page-task-overview .dependency-arrow-btn {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    border: 1px solid #c8d1dc;
    background: #ffffff;
    color: #334155;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.page-task-overview .dependency-arrow-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.page-task-overview .dependency-arrow-btn.is-active {
    border-color: #56705D;
    background: #56705D;
    color: #ffffff;
}

.page-task-overview.modal-open {
    overflow: hidden;
}

.page-task-overview .project-overview-ticket-preview-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    padding: 20px;
    box-sizing: border-box;
}

.page-task-overview .project-overview-ticket-preview-modal-shell[hidden] {
    display: none !important;
}

.page-task-overview .project-overview-ticket-preview-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.page-task-overview .project-overview-ticket-preview-card {
    position: relative;
    width: min(90vw, 1600px);
    max-width: min(90vw, 1600px);
    height: min(90vh, 980px);
    max-height: min(90vh, 980px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #ffffff;
    z-index: 1;
}

.page-task-overview .project-overview-ticket-preview-info,
.page-task-overview .project-overview-ticket-preview-open,
.page-task-overview .project-overview-ticket-preview-close {
    position: absolute;
    top: 14px;
    z-index: 2;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid #d8dee6;
    background: rgba(255, 255, 255, 0.94);
    color: #334155;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.10);
}

.page-task-overview .project-overview-ticket-preview-open {
    right: 66px;
}

.page-task-overview .project-overview-ticket-preview-info {
    right: 118px;
}

.page-task-overview .project-overview-ticket-preview-close {
    right: 14px;
}

.page-task-overview .project-overview-ticket-preview-info:hover,
.page-task-overview .project-overview-ticket-preview-info:focus-visible,
.page-task-overview .project-overview-ticket-preview-open:hover,
.page-task-overview .project-overview-ticket-preview-open:focus-visible,
.page-task-overview .project-overview-ticket-preview-close:hover,
.page-task-overview .project-overview-ticket-preview-close:focus-visible {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
    outline: none;
}

.page-task-overview .project-overview-ticket-preview-frame {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}

.page-project-overview.modal-open {
    overflow: hidden;
}

.page-project-overview #task-modal.modal-shell {
    position: fixed;
    inset: 0;
    z-index: 3000;
}

.page-project-overview #task-modal.modal-shell[hidden] {
    display: none;
}

.page-project-overview #task-modal .modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.page-project-overview #task-modal .modal-card {
    position: relative;
    width: min(820px, calc(100vw - 24px));
    max-height: calc(100vh - 40px);
    margin: 20px auto;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #d8dee6;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-project-overview #task-modal .modal-head {
    padding: 18px 20px 10px;
    border-bottom: 1px solid #edf1f6;
}

.page-project-overview #task-modal .modal-head h2 {
    margin: 0;
    font-size: 1.15rem;
}

.page-project-overview #task-modal .modal-body {
    padding: 14px 20px;
    overflow: auto;
}

.page-project-overview #task-modal .task-modal-sections {
    display: grid;
    gap: 0;
}

.page-project-overview #task-modal .task-modal-section {
    margin: 0;
    padding: 0;
}

.page-project-overview #task-modal .task-modal-section + .task-modal-section {
    border-top: 1px solid #edf1f6;
    margin-top: 10px;
    padding-top: 10px;
}

.page-project-overview #task-modal .task-modal-section-summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0;
    cursor: pointer;
    user-select: none;
}

.page-project-overview #task-modal .task-modal-section-summary::-webkit-details-marker {
    display: none;
}

.page-project-overview #task-modal .task-modal-section-title {
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.2;
}

.page-project-overview #task-modal .task-modal-section-arrow {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #56705D;
    flex: 0 0 auto;
    transition: transform 0.18s ease;
}

.page-project-overview #task-modal .task-modal-section[open] .task-modal-section-arrow {
    transform: rotate(90deg);
}

.page-project-overview #task-modal .task-modal-section-body {
    padding-top: 10px;
}

.page-project-overview #task-modal .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px 18px;
    border-top: 1px solid #edf1f6;
}

.page-project-overview #task-modal .task-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.page-project-overview #task-modal .task-form-grid.task-time-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-project-overview #task-modal .task-form-grid .full {
    grid-column: 1 / -1;
}

.page-project-overview #task-modal .task-assignment-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.page-project-overview #task-modal .task-assignment-section-stack {
    display: grid;
    gap: 12px;
    align-content: start;
}

.page-project-overview :is(#task-modal, #subtask-modal) .is-hidden {
    display: none !important;
}

.page-project-overview #task-modal .field-label {
    display: block;
    margin: 0 0 6px;
    font-weight: 700;
    font-size: 0.92rem;
    color: #334155;
}

.page-project-overview #task-modal .field-label-inline {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 6px;
}

.page-project-overview #task-modal .field-label-inline .field-label {
    margin: 0;
}

.page-project-overview #task-modal .inline-info {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.page-project-overview #task-modal .inline-info summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    border: 1px solid #cfd8e3;
    background: #ffffff;
    color: #56705D;
    cursor: pointer;
    list-style: none;
    transition: all 0.2s ease;
}

.page-project-overview #task-modal .inline-info summary::-webkit-details-marker {
    display: none;
}

.page-project-overview #task-modal .inline-info summary:hover,
.page-project-overview #task-modal .inline-info summary:focus-visible {
    border-color: #b8c6d6;
    background: #f8fafc;
}

.page-project-overview #task-modal .inline-info-popover {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: min(360px, calc(100vw - 80px));
    max-width: calc(100vw - 80px);
    padding: 12px 14px;
    border: 1px solid #dbe3ed;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(18, 24, 33, 0.12);
    color: #4b5563;
    font-size: 0.88rem;
    line-height: 1.45;
    z-index: 30;
}

.page-project-overview #task-modal .helper {
    margin-top: 6px;
    font-size: 0.82rem;
    color: #4b5563;
}

.page-project-overview #task-modal .duration-field-wrap {
    display: grid;
    gap: 6px;
}

.page-project-overview #task-modal .duration-toggle-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    font-size: 0.82rem;
    color: #4b5563;
    cursor: pointer;
    user-select: none;
}

.page-project-overview #task-modal .duration-toggle-inline input[type="checkbox"] {
    margin: 0;
    width: 15px;
    height: 15px;
    cursor: pointer;
}

.page-project-overview #task-modal .text-input.is-disabled {
    background: #f1f5f9;
    color: #64748b;
    cursor: not-allowed;
}

.page-project-overview #task-modal .text-input,
.page-project-overview #task-modal .text-area,
.page-project-overview #task-modal .select-input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #CED5BF;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.92rem;
    color: #1f2937;
    background: #ffffff;
}

.page-project-overview #task-modal .text-input:focus,
.page-project-overview #task-modal .text-area:focus,
.page-project-overview #task-modal .select-input:focus {
    outline: none;
    border-color: #CED5BF;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.13);
}

.page-project-overview #task-modal .text-input[readonly] {
    background: #f8fafc;
    color: #475569;
}

.page-project-overview #task-modal .text-area {
    min-height: 130px;
    resize: vertical;
}

.page-project-overview #task-modal .supporter-list {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    max-height: calc((4 * 34px) + 12px);
    overflow-y: auto;
    padding: 6px;
    background: #fcfdff;
    scrollbar-gutter: stable;
}

.page-project-overview #task-modal .supporter-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 34px;
    padding: 7px 8px;
    border-radius: 8px;
}

.page-project-overview #task-modal .supporter-option:hover {
    background: #E9EEE1;
}

.page-project-overview #task-modal .supporter-option.is-disabled {
    background: #f8fafc;
    color: #9ca3af;
}

.page-project-overview #task-modal .supporter-option-text {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-project-overview #task-modal .supporter-option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    flex: 0 0 auto;
}

.page-project-overview #task-modal .supporter-empty {
    margin: 0;
    color: #4b5563;
    font-size: 0.9rem;
    padding: 8px;
}

.page-project-overview #task-modal .task-assignment-control {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.page-project-overview #task-modal .task-assignment-box {
    width: 100%;
    min-height: 48px;
    border: 1px solid #c8d1dc;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.page-project-overview #task-modal .task-assignment-box:hover,
.page-project-overview #task-modal .task-assignment-box:focus-visible {
    border-color: #CED5BF;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.18);
}

.page-project-overview #task-modal .task-assignment-box.is-empty {
    color: #56705D;
    background: #F4F7EF;
    border-color: #CED5BF;
}

.page-project-overview #task-modal .task-assignment-box-content {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.page-project-overview #task-modal .task-assignment-box-icon {
    width: 22px;
    min-width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #56705D;
    font-size: 1rem;
    margin-top: 1px;
}

.page-project-overview #task-modal .task-assignment-box-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.page-project-overview #task-modal .task-assignment-box-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.3;
}

.page-project-overview #task-modal .task-assignment-box.is-empty .task-assignment-box-title {
    color: #56705D;
}

.page-project-overview #task-modal .task-assignment-box-meta {
    font-size: 0.8rem;
    line-height: 1.4;
    color: #64748b;
    word-break: break-word;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box {
    width: 100%;
    min-height: 48px;
    border: 1px solid #c8d1dc;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box:hover,
:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box:focus-visible {
    border-color: #CED5BF;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.18);
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box.is-empty {
    color: #56705D;
    background: #F4F7EF;
    border-color: #CED5BF;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box-content {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box-icon {
    width: 22px;
    min-width: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #56705D;
    font-size: 1rem;
    margin-top: 1px;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.3;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box.is-empty .task-assignment-box-title {
    color: #56705D;
    font-weight: 700;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box-meta {
    font-size: 0.8rem;
    line-height: 1.4;
    color: #64748b;
    word-break: break-word;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-clear {
    width: 42px;
    min-width: 42px;
    height: 48px;
    padding: 0;
    justify-content: center;
    border-color: #efc1bf;
    color: #b42318;
    background: #fff5f5;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-clear:hover,
:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-clear:focus-visible {
    background: #ffe8e6;
    border-color: #e88984;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-box.is-empty + .task-assignment-clear,
:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) #subtask-modal .task-assignment-clear[hidden] {
    display: none !important;
}

.page-project-overview #task-modal .task-assignment-clear {
    width: 42px;
    min-width: 42px;
    height: 48px;
    padding: 0;
    justify-content: center;
    border-color: #efc1bf;
    color: #b42318;
    background: #fff5f5;
}

.page-project-overview #task-modal .task-assignment-clear:hover,
.page-project-overview #task-modal .task-assignment-clear:focus-visible {
    background: #ffe8e6;
    border-color: #e88984;
}

.page-project-overview #task-modal .task-assignment-clear[hidden] {
    display: none !important;
}

.page-project-overview #task-assignment-modal.modal-shell {
    position: fixed;
    inset: 0;
    z-index: 3010;
}

.page-project-overview #task-assignment-modal.modal-shell[hidden] {
    display: none !important;
}

.page-project-overview #task-assignment-modal .modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.page-project-overview #task-assignment-modal .modal-card {
    position: relative;
    width: min(860px, calc(100vw - 24px));
    max-height: calc(100vh - 40px);
    margin: 20px auto;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #d8dee6;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-project-overview #task-assignment-modal .modal-head {
    padding: 18px 20px 10px;
    border-bottom: 1px solid #edf1f6;
}

.page-project-overview #task-assignment-modal .modal-head h2 {
    margin: 0;
    font-size: 1.15rem;
}

.page-project-overview #task-assignment-modal .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px 18px;
    border-top: 1px solid #edf1f6;
}

.page-project-overview .task-assignment-picker-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 16px 20px 14px;
}

.page-project-overview .task-assignment-picker-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    color: #526072;
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.page-project-overview .task-assignment-picker-tab.is-active {
    border-color: #CED5BF;
    background: #F4F7EF;
    color: #56705D;
}

.page-project-overview .task-assignment-picker-panel[hidden] {
    display: none !important;
}

.page-project-overview .task-assignment-picker-panel {
    padding: 0 20px 8px;
}

.page-project-overview .task-assignment-table-wrap {
    border: 1px solid #d8dee6;
    border-radius: 14px;
    overflow: auto;
    max-height: 380px;
    background: #ffffff;
}

.page-project-overview .task-assignment-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}

.page-project-overview .task-assignment-table th,
.page-project-overview .task-assignment-table td {
    padding: 12px 14px;
    border-bottom: 1px solid #edf1f6;
    text-align: left;
    font-size: 0.9rem;
    vertical-align: top;
}

.page-project-overview .task-assignment-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f8fafc;
    color: #526072;
    font-size: 0.82rem;
    font-weight: 700;
}

.page-project-overview .task-assignment-table tbody tr {
    cursor: pointer;
    transition: background 0.16s ease, box-shadow 0.16s ease;
}

.page-project-overview .task-assignment-table tbody tr:hover {
    background: #f8fafc;
}

.page-project-overview .task-assignment-table tbody tr.is-selected {
    background: #F4F7EF;
    box-shadow: inset 0 0 0 1px #56705D;
}

.page-project-overview .task-assignment-table tbody tr:last-child td {
    border-bottom: 0;
}

.page-project-overview .task-assignment-members-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #56705D;
    font-weight: 700;
}

.page-project-overview .task-assignment-tooltip {
    position: fixed;
    z-index: 3015;
    max-width: 320px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #d8dee6;
    background: #ffffff;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.14);
    color: #334155;
    font-size: 0.82rem;
    line-height: 1.45;
    white-space: pre-line;
    pointer-events: none;
}

.page-project-overview .task-assignment-empty {
    padding: 18px 16px;
    text-align: center;
    color: #64748b;
    font-size: 0.9rem;
}

.page-project-overview .btn-outline-primary {
    background: #ffffff;
    border-color: #56705D;
    color: #56705D;
}

.page-project-overview .btn-outline-primary:hover {
    background: #E9EEE1;
    border-color: #56705D;
    color: #56705D;
}

.page-task-overview .modal-shell {
    position: fixed;
    inset: 0;
    z-index: 3000;
}

.page-task-overview .modal-shell[hidden] {
    display: none;
}

.page-task-overview .modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.page-task-overview .modal-card {
    position: relative;
    width: min(820px, calc(100vw - 24px));
    max-height: calc(100vh - 40px);
    margin: 20px auto;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #d8dee6;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.34);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.page-task-overview .modal-card-compact {
    width: min(460px, calc(100vw - 24px));
}

.page-task-overview .modal-head {
    padding: 18px 20px 10px;
    border-bottom: 1px solid #edf1f6;
}

.page-task-overview .modal-head h2 {
    margin: 0;
    font-size: 1.15rem;
}

.page-task-overview .modal-body {
    padding: 14px 20px;
    overflow: auto;
}

.page-task-overview .modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px 18px;
    border-top: 1px solid #edf1f6;
}

.modal-inline-info-floating {
    position: fixed;
    width: min(360px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
    padding: 12px 14px;
    border: 1px solid #dbe3ed;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 16px 34px rgba(18, 24, 33, 0.12);
    color: #4b5563;
    font-size: 0.88rem;
    line-height: 1.45;
    z-index: 10020;
    pointer-events: auto;
}

.modal-inline-info-floating[hidden] {
    display: none !important;
}

.page-task-overview .confirm-text {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
    color: #334155;
}

.page-task-overview .task-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.page-task-overview .task-form-grid.task-time-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-task-overview .task-form-grid .full {
    grid-column: 1 / -1;
}

.page-task-overview .is-hidden {
    display: none !important;
}

.page-task-overview .field-label {
    display: block;
    margin: 0 0 6px;
    font-weight: 700;
    font-size: 0.92rem;
    color: #334155;
}

.page-task-overview .helper {
    margin-top: 6px;
    font-size: 0.82rem;
    color: #4b5563;
}

.page-task-overview .duration-field-wrap {
    display: grid;
    gap: 6px;
}

.page-task-overview .duration-toggle-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    font-size: 0.82rem;
    color: #4b5563;
    cursor: pointer;
    user-select: none;
}

.page-task-overview .duration-toggle-inline input[type="checkbox"] {
    margin: 0;
    width: 15px;
    height: 15px;
    cursor: pointer;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .date-fixed-field-wrap {
    display: grid;
    gap: 6px;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .date-fixed-toggle-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    font-size: 0.82rem;
    color: #4b5563;
    cursor: pointer;
    user-select: none;
}

:is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .date-fixed-toggle-inline input[type="checkbox"] {
    margin: 0;
    width: 15px;
    height: 15px;
    cursor: pointer;
}

.page-task-overview .text-input.is-disabled {
    background: #f1f5f9;
    color: #64748b;
    cursor: not-allowed;
}

.page-task-overview .toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.page-task-overview .toggle-label {
    font-size: 0.92rem;
    color: #1f2937;
    font-weight: 600;
}

.page-task-overview .toggle-input {
    width: 18px;
    height: 18px;
}

.page-task-overview label {
    font-size: 0.84rem;
    font-weight: 600;
    color: #334155;
}

.pc-work-type-trigger,
.page-task-overview input,
.page-task-overview select,
.page-task-overview textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #CED5BF;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.92rem;
    color: #1f2937;
    background: #ffffff;
}

.page-task-overview .field-owner #towner,
.page-task-overview .field-owner #wowner {
    align-self: start;
    min-height: 40px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.page-task-overview input:focus,
.page-task-overview select:focus,
.page-task-overview textarea:focus {
    outline: none;
    border-color: #CED5BF;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.13);
}

.page-task-overview input[readonly] {
    background: #f8fafc;
    color: #475569;
}

.page-task-overview input[readonly],
.page-task-overview textarea[readonly],
.page-task-overview input:disabled,
.page-task-overview select:disabled,
.page-task-overview textarea:disabled {
    cursor: default;
}

.page-task-overview .ticket-schedule-inline.is-readonly .ticket-schedule-item:focus-visible {
    outline: none;
}

.page-task-overview textarea {
    min-height: 130px;
    resize: vertical;
}

.page-task-overview .supporter-list {
    border: 1px solid #CED5BF;
    border-radius: 10px;
    max-height: calc((4 * 34px) + 12px);
    overflow-y: auto;
    padding: 6px;
    background: #fcfdff;
    scrollbar-gutter: stable;
}

.page-task-overview .supporter-item {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 8px;
    border-radius: 8px;
}

.page-task-overview .supporter-item:hover {
    background: #E9EEE1;
}

.page-task-overview .supporter-item.is-disabled {
    opacity: 0.58;
    cursor: default;
}

.page-task-overview .supporter-item.is-disabled:hover {
    background: transparent;
}

.page-task-overview .supporter-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    flex: 0 0 auto;
}

.page-task-overview .supporter-item span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-task-overview .task-assignment-overview-field {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #f8fafc;
    padding: var(--ticket-overview-pad, 12px);
}

.page-task-overview .task-assignment-overview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ticket-overview-gap, 10px);
    margin-bottom: var(--ticket-overview-gap, 10px);
}

.page-task-overview .task-assignment-overview-head label {
    margin: 0;
}

.page-task-overview .task-assignment-panels {
    display: grid;
    gap: var(--ticket-overview-gap, 10px);
}

.page-task-overview .task-assignment-panel {
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    overflow: hidden;
}

.page-task-overview .task-assignment-panel.is-responsible {
    border-color: #56705D;
    background: #56705D;
}

.page-task-overview .task-assignment-panel.is-owner {
    border-color: #CED5BF;
    background: #F4F7EF;
}

.page-task-overview .task-assignment-panel.is-supporters {
    border-color: #d8dee6;
    background: #ffffff;
}

.page-task-overview .task-assignment-panel-head {
    display: flex;
    align-items: stretch;
    gap: var(--ticket-overview-gap, 8px);
    padding: var(--ticket-overview-pad, 10px) var(--ticket-overview-pad, 12px);
}

.page-task-overview .task-assignment-panel-toggle {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    text-align: left;
}

.page-task-overview .task-assignment-panel-icon {
    width: 34px;
    min-width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #d8dee6;
    color: #475569;
    font-size: 0.95rem;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-icon {
    background: #E9EEE1;
    border-color: #E9EEE1;
    color: #56705D;
}

.page-task-overview .task-assignment-panel.is-owner .task-assignment-panel-icon {
    border-color: #CED5BF;
    color: #56705D;
}

.page-task-overview .task-assignment-panel-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.page-task-overview .task-assignment-panel-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: 2px 9px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-label {
    background: #E9EEE1;
    color: #56705D;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-title {
    color: #ffffff;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-meta {
    color: #E9EEE1;
}

.page-task-overview .task-assignment-panel.is-owner .task-assignment-panel-label {
    background: #E9EEE1;
    color: #56705D;
}

.page-task-overview .task-assignment-panel.is-supporters .task-assignment-panel-label {
    background: #f1f5f9;
    color: #334155;
}

.page-task-overview .task-assignment-panel-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-task-overview .task-assignment-panel-meta {
    font-size: 0.8rem;
    color: #475569;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-task-overview .task-assignment-panel-chevron {
    margin-left: auto;
    color: #64748b;
    font-size: 0.76rem;
    display: inline-flex;
    align-items: center;
    transition: transform 0.16s ease;
    flex: 0 0 auto;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-chevron {
    color: #E9EEE1;
}

.page-task-overview .task-assignment-panel.is-open .task-assignment-panel-chevron {
    transform: rotate(180deg);
}

.page-task-overview .task-assignment-panel-edit,
.page-task-overview .task-assignment-panel-clear {
    align-self: flex-start;
}

.page-task-overview .task-assignment-panel-body {
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    padding: var(--ticket-overview-pad, 12px);
    display: grid;
    gap: 6px;
}

.page-task-overview .task-assignment-panel-body[hidden] {
    display: none !important;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-body {
    border-top-color: rgba(233, 238, 225, 0.38);
}

.page-task-overview .task-assignment-panel-line {
    font-size: 0.84rem;
    color: #475569;
    line-height: 1.4;
    word-break: break-word;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-line,
.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-list,
.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-empty {
    color: #E9EEE1;
}

.page-task-overview .task-assignment-panel-name {
    font-size: 0.94rem;
    font-weight: 700;
    color: #111827;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-name {
    color: #ffffff;
}

.page-task-overview .task-assignment-panel-line a {
    color: #56705D;
    text-decoration: none;
}

.page-task-overview .task-assignment-panel.is-responsible .task-assignment-panel-line a {
    color: #ffffff;
}

.page-task-overview .task-assignment-panel-line a:hover {
    text-decoration: underline;
}

.page-task-overview .task-assignment-panel-list {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 4px;
    color: #475569;
    font-size: 0.82rem;
}

.page-task-overview .task-assignment-panel-empty {
    font-size: 0.84rem;
    color: #64748b;
}

.page-task-overview .task-assignment-supporter-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid #d8dee6;
    border-radius: 10px;
    background: #ffffff;
}

.page-task-overview .task-assignment-supporter-icon {
    width: 24px;
    min-width: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #56705D;
    font-size: 0.92rem;
}

.page-task-overview .task-assignment-supporter-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.page-task-overview .task-assignment-supporter-name {
    font-size: 0.88rem;
    font-weight: 700;
    color: #111827;
}

.page-task-overview .task-assignment-supporter-meta {
    font-size: 0.78rem;
    color: #64748b;
}

.page-task-overview .task-assignee-modal-card {
    width: min(720px, calc(100vw - 24px));
}

.page-task-overview .task-assignee-modal-grid {
    display: grid;
    gap: 12px;
}

.page-task-overview .task-assignment-add-card {
    width: min(520px, calc(100vw - 24px));
}

.page-task-overview .task-assignment-add-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.page-task-overview .task-assignment-add-choice {
    min-height: 72px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    color: #111827;
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.page-task-overview .task-assignment-add-choice:hover,
.page-task-overview .task-assignment-add-choice:focus-visible {
    border-color: #CED5BF;
    background: #F4F7EF;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.14);
}

.page-task-overview .task-assignment-add-choice:disabled {
    cursor: not-allowed;
    opacity: 0.5;
    background: #f8fafc;
    box-shadow: none;
}

@keyframes task-ai-process-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.page-task-overview .comment-form,
.page-subtask-overview .comment-form,
.page-work-overview .comment-form {
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
}

.page-task-overview .comment-mention-wrap,
.page-subtask-overview .comment-mention-wrap,
.page-work-overview .comment-mention-wrap {
    position: relative;
}

.page-task-overview .comment-mention-wrap textarea[data-comment-mention-input],
.page-work-overview .comment-mention-wrap textarea[data-comment-mention-input],
.page-subtask-overview .comment-mention-wrap textarea[data-comment-mention-input] {
    min-height: 48px;
}

.page-task-overview .comment-mention-suggest,
.page-subtask-overview .comment-mention-suggest,
.page-work-overview .comment-mention-suggest {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 30;
    border: 1px solid #CED5BF;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);
    max-height: 220px;
    overflow: auto;
    padding: 6px;
    display: grid;
    gap: 4px;
}

.page-task-overview .comment-mention-suggest[hidden],
.page-subtask-overview .comment-mention-suggest[hidden],
.page-work-overview .comment-mention-suggest[hidden] {
    display: none;
}

.page-task-overview .comment-mention-option,
.page-subtask-overview .comment-mention-option,
.page-work-overview .comment-mention-option {
    width: 100%;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #ffffff;
    color: #1f2937;
    font-size: 0.88rem;
    line-height: 1.3;
    text-align: left;
    padding: 7px 8px;
    cursor: pointer;
}

.page-task-overview .comment-mention-option:hover,
.page-task-overview .comment-mention-option.is-active,
.page-subtask-overview .comment-mention-option:hover,
.page-subtask-overview .comment-mention-option.is-active,
.page-work-overview .comment-mention-option:hover,
.page-work-overview .comment-mention-option.is-active {
    border-color: #CED5BF;
    background: #E9EEE1;
}

.page-task-overview .comment-mention-option.is-selected,
.page-subtask-overview .comment-mention-option.is-selected,
.page-work-overview .comment-mention-option.is-selected {
    border-color: #56705D;
    background: #E9EEE1;
    color: #56705D;
    font-weight: 700;
}

.page-task-overview .comment-send,
.page-subtask-overview .comment-send,
.page-work-overview .comment-send {
    justify-self: flex-end;
}

.page-task-overview .comment-form-actions,
.page-subtask-overview .comment-form-actions,
.page-work-overview .comment-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.page-task-overview .comment-form-actions .comment-send,
.page-task-overview .comment-form-actions .comment-mention-trigger,
.page-subtask-overview .comment-form-actions .comment-send,
.page-subtask-overview .comment-form-actions .comment-mention-trigger,
.page-work-overview .comment-form-actions .comment-send,
.page-work-overview .comment-form-actions .comment-mention-trigger {
    height: 42px;
}

.page-task-overview .comment-mention-trigger,
.page-subtask-overview .comment-mention-trigger,
.page-work-overview .comment-mention-trigger {
    flex: 0 0 auto;
    width: 42px;
    padding: 0;
}

.page-task-overview .comments-head,
.page-subtask-overview .comments-head,
.page-work-overview .comments-head {
    margin: 0 0 8px;
    font-size: 1.12rem;
}

.page-task-overview .comment-list,
.page-subtask-overview .comment-list,
.page-work-overview .comment-list {
    display: grid;
    gap: 8px;
}

.page-task-overview .comment-card,
.page-subtask-overview .comment-card,
.page-work-overview .comment-card {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 10px 12px;
    background: #ffffff;
}

.page-task-overview .protocol-summary-list,
.page-subtask-overview .protocol-summary-list,
.page-work-overview .protocol-summary-list {
    display: grid;
    gap: 8px;
}

.page-task-overview .protocol-summary-card,
.page-subtask-overview .protocol-summary-card,
.page-work-overview .protocol-summary-card {
    display: block;
    text-decoration: none;
    color: inherit;
    border: 1px solid #dbe2ea;
    border-radius: 10px;
    padding: 10px 12px;
    background: #ffffff;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.page-task-overview .protocol-summary-card:hover,
.page-task-overview .protocol-summary-card:focus-visible,
.page-subtask-overview .protocol-summary-card:hover,
.page-subtask-overview .protocol-summary-card:focus-visible,
.page-work-overview .protocol-summary-card:hover,
.page-work-overview .protocol-summary-card:focus-visible {
    border-color: #56705D;
    box-shadow: 0 0 0 2px rgba(86, 112, 93, 0.14);
    outline: none;
}

.page-task-overview .protocol-summary-meta,
.page-subtask-overview .protocol-summary-meta,
.page-work-overview .protocol-summary-meta {
    margin: 0 0 6px;
    font-size: 0.84rem;
    color: #475569;
}

.page-task-overview .protocol-summary-changes,
.page-subtask-overview .protocol-summary-changes,
.page-work-overview .protocol-summary-changes {
    margin: 0;
    padding-left: 18px;
    font-size: 0.9rem;
    color: #1f2937;
}

.page-task-overview .protocol-summary-note-title,
.page-subtask-overview .protocol-summary-note-title,
.page-work-overview .protocol-summary-note-title {
    margin: 8px 0 4px;
    font-size: 0.84rem;
    font-weight: 700;
    color: #334155;
}

.page-task-overview .comment-card.is-editing,
.page-subtask-overview .comment-card.is-editing,
.page-work-overview .comment-card.is-editing {
    border-color: #CED5BF;
    box-shadow: 0 0 0 2px rgba(86, 112, 93, 0.12);
}

.page-task-overview .comment-meta,
.page-subtask-overview .comment-meta,
.page-work-overview .comment-meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
    font-size: 0.84rem;
    color: #475569;
}

.page-task-overview .comment-author,
.page-subtask-overview .comment-author,
.page-work-overview .comment-author {
    font-weight: 700;
    color: #1f2937;
}

.page-task-overview .comment-text,
.page-subtask-overview .comment-text,
.page-work-overview .comment-text {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: #111827;
    white-space: normal;
    overflow-wrap: anywhere;
}

.page-task-overview .comment-soft-break,
.page-subtask-overview .comment-soft-break,
.page-work-overview .comment-soft-break {
    line-height: inherit;
}

.page-task-overview .comment-hard-break,
.page-subtask-overview .comment-hard-break,
.page-work-overview .comment-hard-break {
    display: block;
    height: 0.5em;
    line-height: 0;
}

.page-task-overview .comment-mention,
.page-subtask-overview .comment-mention,
.page-work-overview .comment-mention {
    display: inline-block;
    border: 1px solid #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    border-radius: 6px;
    padding: 0 5px;
    font-weight: 600;
}

.page-task-overview .comment-edit-form,
.page-work-overview .comment-edit-form {
    margin-top: 8px;
}

.page-task-overview .comment-edit-input,
.page-work-overview .comment-edit-input,
.page-subtask-overview .comment-edit-input {
    width: 100%;
    min-height: 48px;
    resize: vertical;
}

.page-task-overview .comment-edit-toolbar,
.page-work-overview .comment-edit-toolbar {
    margin-top: 8px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.page-task-overview .comments-more {
    margin-top: 10px;
}

.page-task-overview .comments-more > summary {
    cursor: pointer;
    color: #56705D;
    font-weight: 600;
    font-size: 0.9rem;
}

.page-work-overview .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.page-task-overview .comments-disabled {
    margin: 0;
    color: #7f1d1d;
    background: #fff1f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.9rem;
}

.page-task-overview .notice-inline {
    border: 1px solid #CED5BF;
    background: #E9EEE1;
    color: #56705D;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 0.9rem;
}

.page-task-overview .notice-inline.error {
    border-color: #fecaca;
    background: #fff1f2;
    color: #9f1239;
}

.page-task-overview .empty-hint {
    margin: 0;
    color: #4b5563;
    font-size: 0.9rem;
}

@media (max-width: 960px) {
    .page-task-overview.has-pm-sidebar {
        padding-left: 74px;
    }

    .page-task-overview.has-pm-sidebar .pm-sidebar {
        width: 54px;
    }

    .page-task-overview.has-pm-sidebar .pm-sidebar:hover,
    .page-task-overview.has-pm-sidebar .pm-sidebar:focus-within {
        width: 250px;
    }

    .page-task-overview .ticket-title-row,
    .page-task-overview .ticket-title-row.has-progress {
        grid-template-columns: minmax(90px, max-content) minmax(0, 1fr);
    }

    .page-task-overview .task-head-status-card {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .page-task-overview .task-progress-card {
        grid-column: 1 / -1;
    }

    .page-task-overview .ticket-subline-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-task-overview .ticket-meta-grid {
        grid-template-columns: 1fr;
    }

    .page-task-overview .ticket-meta-card-inline {
        flex-wrap: wrap;
    }

    .page-task-overview .ticket-schedule-inline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .page-task-overview .task-info-split {
        grid-template-columns: 1fr;
    }

    .page-task-overview .ticket-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-task-overview .task-child-actions {
        justify-content: flex-start;
    }

    .page-task-overview .subtask-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-task-overview .subtask-card-head {
        flex-direction: column;
    }

    .page-task-overview .row-action-buttons {
        justify-content: flex-start;
    }

    .page-task-overview .dependency-grid {
        grid-template-columns: 1fr;
    }

    .page-task-overview .dependency-transfer {
        flex-direction: row;
        justify-content: center;
    }

    .page-task-overview .task-form-grid {
        grid-template-columns: 1fr;
    }

    .page-task-overview .task-form-grid.task-time-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-section-grid {
        grid-template-columns: 1fr;
    }

    .page-project-overview #task-modal .task-form-grid {
        grid-template-columns: 1fr;
    }

    .page-project-overview #task-modal .task-assignment-section-grid {
        grid-template-columns: 1fr;
    }

    .page-task-overview .work-section-headline {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-task-overview .work-section-row-actions {
        padding-top: 0;
    }
}

@media (max-width: 640px) {
    .page-task-overview.has-pm-sidebar {
        padding-left: 12px;
    }

    .page-task-overview.has-pm-sidebar .pm-sidebar {
        top: 70px;
        left: 8px;
        width: 48px;
        bottom: auto;
        max-height: calc(100vh - 82px);
    }

    .page-task-overview.has-pm-sidebar .pm-sidebar:hover,
    .page-task-overview.has-pm-sidebar .pm-sidebar:focus-within {
        width: 220px;
    }

    .page-task-overview .page {
        width: var(--pc-page-body-width);
        max-width: var(--pc-page-body-width);
        margin-top: 74px;
    }

    .page-task-overview .ticket-title-row {
        grid-template-columns: 1fr;
    }

    .page-task-overview .ticket-grid {
        grid-template-columns: 1fr;
    }

    .page-task-overview .task-info-left .ticket-grid {
        grid-template-columns: 1fr;
    }

    .page-task-overview .ticket-schedule-inline {
        grid-template-columns: 1fr;
    }

    .page-task-overview .field-wide {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .page-task-overview,
    .page-task-overview.has-pm-sidebar,
    .page-subtask-overview,
    .page-work-overview {
        padding: 8px 8px 56px !important;
        font-size: 13px;
    }

    .page-task-overview .pfb-shell,
    .page-task-overview .pm-sidebar,
    .page-task-overview .top-actions.project-actionbar,
    .page-subtask-overview .pfb-shell,
    .page-subtask-overview .pm-sidebar,
    .page-subtask-overview .top-actions.project-actionbar,
    .page-work-overview .pfb-shell,
    .page-work-overview .pm-sidebar,
    .page-work-overview .top-actions.project-actionbar {
        display: none !important;
    }

    .page-task-overview .page,
    .page-subtask-overview .page,
    .page-work-overview .page {
        width: min(100%, calc(100vw - 16px)) !important;
        max-width: min(100%, calc(100vw - 16px)) !important;
        margin: var(--pc-visible-project-header-offset, 8px) auto 24px !important;
    }

    .page-task-overview .surface,
    .page-subtask-overview .surface,
    .page-work-overview .surface {
        padding: var(--ticket-overview-pad, 12px) !important;
        border-radius: 16px !important;
    }

    .page-task-overview .ticket-title-row,
    .page-task-overview .ticket-title-row.has-progress,
    .page-subtask-overview .ticket-title-row,
    .page-work-overview .ticket-title-row {
        grid-template-columns: minmax(76px, max-content) minmax(0, 1fr) !important;
        gap: var(--ticket-overview-gap, 10px) !important;
        align-items: stretch !important;
    }

    .page-task-overview .ticket-id-card,
    .page-subtask-overview .ticket-id-card,
    .page-work-overview .ticket-id-card,
    .page-task-overview .ticket-name-card,
    .page-subtask-overview .ticket-name-card,
    .page-work-overview .ticket-name-card,
    .page-task-overview .task-head-status-card,
    .page-subtask-overview .task-head-status-card,
    .page-work-overview .task-head-status-card,
    .page-task-overview .task-progress-card {
        min-height: 64px !important;
        padding: 10px 12px !important;
        border-radius: 16px !important;
    }

    .page-task-overview .ticket-head,
    .page-subtask-overview .ticket-head,
    .page-work-overview .ticket-head {
        font-size: 1.05rem !important;
    }

    .page-task-overview .ticket-id-psp-code,
    .page-subtask-overview .ticket-id-psp-code,
    .page-work-overview .ticket-id-psp-code {
        font-size: 0.56rem !important;
    }

    .page-task-overview .ticket-name,
    .page-subtask-overview .ticket-name,
    .page-work-overview .ticket-name,
    .page-task-overview .ticket-name-input,
    .page-subtask-overview .subtask-name-input,
    .page-work-overview .ticket-name-input {
        font-size: 1rem !important;
        line-height: 1.25 !important;
    }

    .page-task-overview .task-head-status-card,
    .page-subtask-overview .task-head-status-card,
    .page-work-overview .task-head-status-card,
    .page-task-overview .task-progress-card {
        grid-column: 1 / -1 !important;
        justify-self: stretch !important;
    }

    .page-task-overview .ticket-meta-grid,
    .page-subtask-overview .ticket-meta-grid,
    .page-work-overview .ticket-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--ticket-overview-gap, 10px) !important;
    }

    .page-task-overview .ticket-meta-card,
    .page-subtask-overview .ticket-meta-card,
    .page-work-overview .ticket-meta-card,
    .page-task-overview .ticket-schedule-item,
    .page-subtask-overview .subtask-schedule-card,
    .page-work-overview .ticket-schedule-item {
        padding: 10px !important;
        border-radius: 14px !important;
    }

    .page-task-overview .ticket-schedule-inline,
    .page-subtask-overview .subtask-schedule-grid,
    .page-work-overview .ticket-schedule-inline {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--ticket-overview-gap, 10px) !important;
        margin-top: var(--ticket-overview-gap, 12px) !important;
    }

    .page-task-overview .task-info-split,
    .page-subtask-overview .subtask-detail-grid,
    .page-work-overview .task-info-split,
    .page-task-overview .ticket-grid,
    .page-subtask-overview .ticket-grid,
    .page-work-overview .ticket-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--ticket-overview-gap, 10px) !important;
    }

    .page-task-overview input,
    .page-task-overview select,
    .page-task-overview textarea,
    .page-subtask-overview input,
    .page-subtask-overview select,
    .page-subtask-overview textarea,
    .page-work-overview input,
    .page-work-overview select,
    .page-work-overview textarea {
        min-height: 40px !important;
        padding: 8px 10px !important;
        border-radius: var(--ticket-input-radius, 12px) !important;
        font-size: 0.88rem !important;
    }

    .page-task-overview textarea:where(:not(.meeting-live-ticket #comments-section [name="comment_text"])),
    .page-subtask-overview textarea:where(:not(.meeting-live-ticket #comments-section [name="comment_text"])),
    .page-work-overview textarea:where(:not(.meeting-live-ticket #comments-section [name="comment_text"])),
    .page-subtask-overview .subtask-description-input {
        min-height: 136px !important;
    }

    .page-task-overview .btn:where(:not(.ticket-overview-assignments .task-assignment-panel-actions *)),
    .page-subtask-overview .btn:where(:not(.ticket-overview-assignments .task-assignment-panel-actions *)),
    .page-work-overview .btn:where(:not(.ticket-overview-assignments .task-assignment-panel-actions *)) {
        min-height: 38px !important;
        padding: 8px 12px !important;
        border-radius: 12px !important;
        font-size: 0.86rem !important;
        gap: 6px !important;
    }

    .page-task-overview .icon-btn-square:where(:not(.ticket-overview-assignments .task-assignment-panel-actions *)),
    .page-subtask-overview .icon-btn-square:where(:not(.ticket-overview-assignments .task-assignment-panel-actions *)),
    .page-work-overview .icon-btn-square:where(:not(.ticket-overview-assignments .task-assignment-panel-actions *)),
    .page-task-overview .ticket-name-action-btn,
    .page-subtask-overview .ticket-name-action-btn,
    .page-work-overview .ticket-name-action-btn {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
    }

    .page-task-overview .field-label,
    .page-subtask-overview .field-label,
    .page-work-overview .field-label,
    .page-task-overview .ticket-meta-label,
    .page-subtask-overview .ticket-meta-label,
    .page-work-overview .ticket-meta-label,
    .page-task-overview .ticket-schedule-item-label,
    .page-subtask-overview .subtask-schedule-label,
    .page-work-overview .ticket-schedule-item-label {
        font-size: 0.76rem !important;
    }

    .page-task-overview .ticket-meta-value,
    .page-subtask-overview .ticket-meta-value,
    .page-work-overview .ticket-meta-value,
    .page-task-overview .ticket-schedule-item-value,
    .page-subtask-overview .subtask-inline-input,
    .page-work-overview .ticket-schedule-item-value {
        font-size: 0.9rem !important;
    }

    .page-task-overview .task-files-panel-body,
    .page-subtask-overview .task-files-panel-body,
    .page-work-overview .task-files-panel-body {
        min-height: var(--ticket-overview-empty-height, 160px) !important;
        padding: var(--ticket-overview-pad, 8px) !important;
    }

    .page-task-overview .task-file-item,
    .page-subtask-overview .task-file-item,
    .page-work-overview .task-file-item {
        padding: var(--ticket-overview-pad, 9px 10px) !important;
        border-radius: 12px !important;
    }

    .page-task-overview .comment-card,
    .page-subtask-overview .comment-card,
    .page-work-overview .comment-card,
    .page-task-overview .protocol-summary-card,
    .page-subtask-overview .protocol-summary-card,
    .page-work-overview .protocol-summary-card {
        padding: 9px 10px !important;
        border-radius: 12px !important;
    }

    .page-task-overview .comment-text,
    .page-subtask-overview .comment-text,
    .page-work-overview .comment-text,
    .page-task-overview .task-file-name,
    .page-subtask-overview .task-file-name,
    .page-work-overview .task-file-name {
        font-size: 0.86rem !important;
    }

    .page-task-overview .modal-card,
    .page-subtask-overview .modal-card,
    .page-work-overview .modal-card {
        width: min(96vw, calc(100vw - 16px)) !important;
        max-height: calc(100vh - 16px) !important;
        margin: 8px auto !important;
        border-radius: 14px !important;
    }

    .page-task-overview .modal-head,
    .page-subtask-overview .modal-head,
    .page-work-overview .modal-head,
    .page-task-overview .modal-body,
    .page-subtask-overview .modal-body,
    .page-work-overview .modal-body,
    .page-task-overview .modal-actions,
    .page-subtask-overview .modal-actions,
    .page-work-overview .modal-actions {
        padding: 12px !important;
    }
}

@media (max-width: 420px) {
    .page-task-overview .ticket-title-row,
    .page-task-overview .ticket-title-row.has-progress,
    .page-subtask-overview .ticket-title-row,
    .page-work-overview .ticket-title-row,
    .page-task-overview .ticket-meta-grid,
    .page-subtask-overview .ticket-meta-grid,
    .page-work-overview .ticket-meta-grid,
    .page-task-overview .ticket-grid,
    .page-subtask-overview .ticket-grid,
    .page-work-overview .ticket-grid {
        grid-template-columns: 1fr !important;
    }

    .page-task-overview .ticket-schedule-inline,
    .page-subtask-overview .subtask-schedule-grid,
    .page-work-overview .ticket-schedule-inline {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body.page-task-overview,
    body.page-task-overview.page-subtask-overview,
    body.page-task-overview.page-work-overview {
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .page-task-overview .page,
    .page-subtask-overview .page,
    .page-work-overview .page,
    .page-task-overview .surface,
    .page-subtask-overview .surface,
    .page-work-overview .surface,
    .page-task-overview .ticket-title-row,
    .page-subtask-overview .ticket-title-row,
    .page-work-overview .ticket-title-row,
    .page-task-overview .ticket-meta-grid,
    .page-subtask-overview .ticket-meta-grid,
    .page-work-overview .ticket-meta-grid,
    .page-task-overview .ticket-schedule-inline,
    .page-subtask-overview .ticket-schedule-inline,
    .page-work-overview .ticket-schedule-inline,
    .page-task-overview .task-info-split,
    .page-subtask-overview .subtask-detail-grid,
    .page-work-overview .task-info-split {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .page-task-overview .ticket-title-row,
    .page-task-overview .ticket-title-row.has-progress,
    .page-subtask-overview .ticket-title-row,
    .page-subtask-overview .ticket-title-row.has-progress,
    .page-work-overview .ticket-title-row {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: minmax(0, 1fr) minmax(42px, 42px) !important;
        grid-template-areas:
            "ticket-id ticket-status"
            "ticket-name ticket-name"
            "ticket-progress ticket-progress" !important;
        gap: var(--ticket-overview-gap, 6px) !important;
        align-items: stretch !important;
    }

    .page-task-overview .ticket-id-card,
    .page-subtask-overview .ticket-id-card,
    .page-work-overview .ticket-id-card {
        grid-area: ticket-id !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        min-height: 38px !important;
        padding: 6px 8px !important;
        border-radius: 12px !important;
    }

    .page-task-overview .task-save-row,
    .page-subtask-overview .subtask-save-row,
    .page-work-overview .task-save-row {
        position: fixed !important;
        left: 10px !important;
        right: 10px !important;
        bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 2600 !important;
        width: auto !important;
        max-width: none !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid rgba(216, 222, 230, 0.92) !important;
        border-radius: 16px !important;
        background: rgba(248, 250, 252, 0.96) !important;
        box-shadow: 0 16px 36px rgba(15, 23, 42, 0.22) !important;
        -webkit-backdrop-filter: blur(14px) !important;
        backdrop-filter: blur(14px) !important;
        opacity: 0 !important;
        overflow: visible !important;
        pointer-events: none !important;
        transform: translateY(calc(100% + 24px)) !important;
        transition: transform 0.24s ease, opacity 0.18s ease !important;
    }

    .page-task-overview .task-save-row:has(.task-save-btn:not(:disabled)),
    .page-subtask-overview .subtask-save-row:has(.task-save-btn:not(:disabled)),
    .page-work-overview .task-save-row:has(.task-save-btn:not(:disabled)),
    .page-task-overview .task-save-row:has(.task-delete-btn),
    .page-subtask-overview .subtask-save-row:has(.task-delete-btn),
    .page-work-overview .task-save-row:has(.task-delete-btn) {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .page-task-overview .task-discard-btn,
    .page-subtask-overview .task-discard-btn,
    .page-work-overview .task-discard-btn,
    .page-task-overview .task-delete-btn,
    .page-subtask-overview .task-delete-btn,
    .page-work-overview .task-delete-btn,
    .page-task-overview .task-transform-btn,
    .page-subtask-overview .task-transform-btn,
    .page-work-overview .task-transform-btn {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        flex: 0 0 38px !important;
    }

    .page-task-overview .task-discard-btn span,
    .page-subtask-overview .task-discard-btn span,
    .page-work-overview .task-discard-btn span,
    .page-task-overview .task-delete-btn span,
    .page-subtask-overview .task-delete-btn span,
    .page-work-overview .task-delete-btn span,
    .page-task-overview .task-transform-btn span,
    .page-subtask-overview .task-transform-btn span,
    .page-work-overview .task-transform-btn span {
        display: none !important;
    }

    .page-task-overview .task-save-btn,
    .page-subtask-overview .task-save-btn,
    .page-work-overview .task-save-btn {
        min-width: 0 !important;
        width: auto !important;
        flex: 1 1 auto !important;
    }

    .page-task-overview .ticket-name-card,
    .page-subtask-overview .ticket-name-card,
    .page-work-overview .ticket-name-card {
        grid-area: ticket-name !important;
        min-height: 0 !important;
        padding: 6px 8px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
    }

    .page-task-overview .task-head-status-card,
    .page-subtask-overview .task-head-status-card,
    .page-work-overview .task-head-status-card {
        grid-area: ticket-status !important;
        grid-column: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 42px !important;
        box-sizing: border-box !important;
        min-height: 42px !important;
        padding: 5px !important;
        border-radius: 12px !important;
        justify-self: stretch !important;
        justify-content: center !important;
    }

    .page-task-overview .task-progress-card,
    .page-subtask-overview .task-progress-card {
        grid-area: ticket-progress !important;
        grid-column: 1 / -1 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        min-height: 40px !important;
        padding: 7px 8px !important;
        border-radius: 12px !important;
    }

    .page-task-overview .task-progress-track,
    .page-subtask-overview .task-progress-track {
        width: 100% !important;
    }

    .page-task-overview .ticket-head,
    .page-subtask-overview .ticket-head,
    .page-work-overview .ticket-head {
        font-size: 0.9rem !important;
        line-height: 1.1 !important;
    }

    .page-task-overview .ticket-name,
    .page-subtask-overview .ticket-name,
    .page-work-overview .ticket-name {
        font-size: 0.84rem !important;
        line-height: 1.18 !important;
    }

    .page-task-overview .ticket-name-row,
    .page-subtask-overview .ticket-name-row,
    .page-work-overview .ticket-name-row {
        gap: 5px !important;
        width: 100% !important;
        min-height: 0 !important;
        align-items: center !important;
    }

    .page-task-overview .ticket-name-action-btn,
    .page-subtask-overview .ticket-name-action-btn,
    .page-work-overview .ticket-name-action-btn {
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        min-height: 26px !important;
        border-radius: 8px !important;
    }

    .page-task-overview .ticket-name-action-btn i,
    .page-subtask-overview .ticket-name-action-btn i,
    .page-work-overview .ticket-name-action-btn i {
        font-size: 0.68rem !important;
    }

    .page-task-overview .task-head-status-btn,
    .page-subtask-overview .task-head-status-btn,
    .page-work-overview .task-head-status-btn {
        width: 30px !important;
        min-width: 30px !important;
        height: 28px !important;
        min-height: 28px !important;
    }

    .page-task-overview .task-head-status-btn i,
    .page-subtask-overview .task-head-status-btn i,
    .page-work-overview .task-head-status-btn i {
        font-size: 0.82rem !important;
    }

    .page-task-overview .task-progress-label,
    .page-subtask-overview .task-progress-label {
        font-size: 0.68rem !important;
    }

    .page-task-overview .task-progress-percent,
    .page-subtask-overview .task-progress-percent {
        font-size: 0.78rem !important;
    }

    .page-task-overview .task-progress-track,
    .page-subtask-overview .task-progress-track {
        height: 7px !important;
    }

    .page-task-overview .ticket-meta-grid,
    .page-subtask-overview .ticket-meta-grid,
    .page-work-overview .ticket-meta-grid {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
        margin-top: var(--ticket-overview-gap, 7px) !important;
    }

    .page-task-overview .ticket-meta-card,
    .page-subtask-overview .ticket-meta-card,
    .page-work-overview .ticket-meta-card {
        min-height: 24px !important;
        padding: 3px 6px !important;
        border-radius: 9px !important;
        gap: 3px !important;
    }

    .page-task-overview .ticket-meta-card-inline,
    .page-subtask-overview .ticket-meta-card-inline,
    .page-work-overview .ticket-meta-card-inline {
        flex-direction: row !important;
        align-items: center !important;
        gap: 5px !important;
    }

    .page-task-overview .ticket-meta-label,
    .page-subtask-overview .ticket-meta-label,
    .page-work-overview .ticket-meta-label {
        font-size: 0.58rem !important;
        line-height: 1.1 !important;
    }

    .page-task-overview .ticket-meta-value,
    .page-task-overview .ticket-meta-subvalue,
    .page-task-overview .ticket-meta-link,
    .page-subtask-overview .ticket-meta-value,
    .page-subtask-overview .ticket-meta-subvalue,
    .page-work-overview .ticket-meta-value,
    .page-work-overview .ticket-meta-subvalue,
    .page-work-overview .ticket-meta-link {
        font-size: 0.64rem !important;
        line-height: 1.12 !important;
    }

    .page-task-overview .ticket-meta-separator,
    .page-subtask-overview .ticket-meta-separator,
    .page-work-overview .ticket-meta-separator {
        font-size: 0.58rem !important;
    }

    .page-task-overview .ticket-meta-card-phase select,
    .page-task-overview .ticket-meta-card-subproject select,
    .page-task-overview .ticket-phase-inline select,
    .page-work-overview .work-type-inline-btn {
        min-height: 28px !important;
        max-width: 100% !important;
        font-size: 0.68rem !important;
        padding: 3px 8px !important;
        border-radius: 8px !important;
    }

    .page-task-overview .ticket-schedule-inline,
    .page-subtask-overview .ticket-schedule-inline,
    .page-work-overview .ticket-schedule-inline {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: var(--ticket-overview-gap, 6px) !important;
        margin-top: var(--ticket-overview-gap, 8px) !important;
    }

    .page-task-overview .ticket-schedule-item[data-schedule-item="start"],
    .page-subtask-overview .ticket-schedule-item[data-schedule-item="start"],
    .page-work-overview .ticket-schedule-item[data-schedule-item="start"] {
        grid-column: 1 / 4 !important;
        grid-row: 1 !important;
    }

    .page-task-overview .ticket-schedule-item[data-schedule-item="end"],
    .page-subtask-overview .ticket-schedule-item[data-schedule-item="end"],
    .page-work-overview .ticket-schedule-item[data-schedule-item="end"] {
        grid-column: 4 / 7 !important;
        grid-row: 1 !important;
    }

    .page-task-overview .ticket-schedule-item[data-schedule-item="expense"],
    .page-subtask-overview .ticket-schedule-item[data-schedule-item="expense"],
    .page-work-overview .ticket-schedule-item[data-schedule-item="expense"] {
        grid-column: 1 / 3 !important;
        grid-row: 2 !important;
    }

    .page-task-overview .ticket-schedule-item[data-schedule-item="duration"],
    .page-subtask-overview .ticket-schedule-item[data-schedule-item="duration"],
    .page-work-overview .ticket-schedule-item[data-schedule-item="duration"] {
        grid-column: 3 / 5 !important;
        grid-row: 2 !important;
    }

    .page-task-overview .ticket-schedule-item[data-schedule-item="prio"],
    .page-subtask-overview .ticket-schedule-item[data-schedule-item="prio"],
    .page-work-overview .ticket-schedule-item[data-schedule-item="prio"] {
        grid-column: 5 / 7 !important;
        grid-row: 2 !important;
    }

    .page-task-overview .ticket-schedule-item,
    .page-subtask-overview .ticket-schedule-item,
    .page-work-overview .ticket-schedule-item {
        min-height: 30px !important;
        padding: 3px 5px !important;
        border-radius: 9px !important;
        gap: 4px !important;
    }

    .page-task-overview .ticket-schedule-item-label,
    .page-subtask-overview .ticket-schedule-item-label,
    .page-work-overview .ticket-schedule-item-label {
        font-size: 0.56rem !important;
        line-height: 1.05 !important;
    }

    .page-task-overview .ticket-schedule-item-value,
    .page-subtask-overview .ticket-schedule-item-value,
    .page-work-overview .ticket-schedule-item-value {
        font-size: 0.62rem !important;
        line-height: 1.08 !important;
    }

    .page-task-overview .ticket-schedule-duration-remove-btn,
    .page-task-overview .ticket-schedule-confirm-btn,
    .page-subtask-overview .ticket-schedule-duration-remove-btn,
    .page-subtask-overview .ticket-schedule-confirm-btn,
    .page-work-overview .ticket-schedule-duration-remove-btn,
    .page-work-overview .ticket-schedule-confirm-btn {
        width: 22px !important;
        min-width: 22px !important;
        height: 22px !important;
        min-height: 22px !important;
        border-radius: 7px !important;
    }

    .page-task-overview input,
    .page-task-overview textarea,
    .page-subtask-overview input,
    .page-subtask-overview textarea,
    .page-work-overview input,
    .page-work-overview textarea {
        font-size: 16px !important;
    }

    .page-task-overview .ticket-schedule-item-input,
    .page-subtask-overview .ticket-schedule-item-input,
    .page-work-overview .ticket-schedule-item-input {
        height: 28px !important;
        min-height: 28px !important;
        font-size: 16px !important;
    }

    .page-task-overview .task-assignment-add-grid,
    .page-subtask-overview .task-assignment-add-grid,
    .page-work-overview .task-assignment-add-grid,
    .page-task-overview :is(#work-modal, #subtask-modal) .task-assignment-section-grid,
    .page-project-overview #task-modal .task-assignment-section-grid {
        grid-template-columns: 1fr !important;
    }

    .page-task-overview .task-assignment-add-choice,
    .page-subtask-overview .task-assignment-add-choice,
    .page-work-overview .task-assignment-add-choice {
        min-height: 48px !important;
        padding: 10px 12px !important;
        font-size: 0.86rem !important;
    }

    .page-task-overview .task-assignment-picker-tabs,
    .page-subtask-overview .task-assignment-picker-tabs,
    .page-work-overview .task-assignment-picker-tabs {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        padding: 10px 12px !important;
    }

    .page-task-overview .task-assignment-overview-field,
    .page-subtask-overview .task-assignment-overview-field,
    .page-work-overview .task-assignment-overview-field {
        padding: var(--ticket-overview-pad, 8px) !important;
        border-radius: 12px !important;
    }

    .page-task-overview .task-assignment-overview-head,
    .page-subtask-overview .task-assignment-overview-head,
    .page-work-overview .task-assignment-overview-head {
        gap: var(--ticket-overview-gap, 6px) !important;
        margin-bottom: var(--ticket-overview-gap, 6px) !important;
    }

    .page-task-overview .task-assignment-overview-field:not(.ticket-overview-assignments) .task-assignment-overview-head label,
    .page-subtask-overview .task-assignment-overview-field:not(.ticket-overview-assignments) .task-assignment-overview-head label,
    .page-work-overview .task-assignment-overview-field:not(.ticket-overview-assignments) .task-assignment-overview-head label,
    .page-task-overview .task-assignment-panel-label:where(:not(.ticket-overview-assignments *)),
    .page-subtask-overview .task-assignment-panel-label:where(:not(.ticket-overview-assignments *)),
    .page-work-overview .task-assignment-panel-label:where(:not(.ticket-overview-assignments *)) {
        font-size: 0.62rem !important;
        line-height: 1.15 !important;
    }

    .page-task-overview .task-assignment-panel-head:where(:not(.ticket-overview-assignments *)),
    .page-subtask-overview .task-assignment-panel-head:where(:not(.ticket-overview-assignments *)),
    .page-work-overview .task-assignment-panel-head:where(:not(.ticket-overview-assignments *)) {
        gap: 6px !important;
        padding: var(--ticket-overview-pad, 7px 8px) !important;
    }

    .page-task-overview .task-assignment-panel-toggle:where(:not(.ticket-overview-assignments *)),
    .page-subtask-overview .task-assignment-panel-toggle:where(:not(.ticket-overview-assignments *)),
    .page-work-overview .task-assignment-panel-toggle:where(:not(.ticket-overview-assignments *)) {
        gap: 7px !important;
    }

    .page-task-overview .task-assignment-panel-icon:where(:not(.ticket-overview-assignments *)),
    .page-subtask-overview .task-assignment-panel-icon:where(:not(.ticket-overview-assignments *)),
    .page-work-overview .task-assignment-panel-icon:where(:not(.ticket-overview-assignments *)) {
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        font-size: 0.72rem !important;
    }

    .page-task-overview .task-assignment-panel-title:where(:not(.ticket-overview-assignments *)),
    .page-subtask-overview .task-assignment-panel-title:where(:not(.ticket-overview-assignments *)),
    .page-work-overview .task-assignment-panel-title:where(:not(.ticket-overview-assignments *)) {
        font-size: 0.76rem !important;
        line-height: 1.12 !important;
    }

    .page-task-overview .task-assignment-panel-meta:where(:not(.ticket-overview-assignments *)),
    .page-subtask-overview .task-assignment-panel-meta:where(:not(.ticket-overview-assignments *)),
    .page-work-overview .task-assignment-panel-meta:where(:not(.ticket-overview-assignments *)),
    .page-task-overview .task-assignment-panel-line,
    .page-subtask-overview .task-assignment-panel-line,
    .page-work-overview .task-assignment-panel-line,
    .page-task-overview .task-assignment-panel-empty,
    .page-subtask-overview .task-assignment-panel-empty,
    .page-work-overview .task-assignment-panel-empty {
        font-size: 0.68rem !important;
        line-height: 1.25 !important;
    }

    :is(.page-task-root-overview, .page-subtask-root-overview, .page-work-root-overview) .task-assignment-panel-inherit:where(:not(.ticket-overview-assignments *)),
    .page-task-overview .task-assignment-overview-head .icon-btn-square,
    .page-subtask-overview .task-assignment-overview-head .icon-btn-square,
    .page-work-overview .task-assignment-overview-head .icon-btn-square,
    .page-task-overview .task-assignment-panel-edit:where(:not(.ticket-overview-assignments *)),
    .page-subtask-overview .task-assignment-panel-edit:where(:not(.ticket-overview-assignments *)),
    .page-work-overview .task-assignment-panel-edit:where(:not(.ticket-overview-assignments *)),
    .page-task-overview .task-assignment-panel-clear:where(:not(.ticket-overview-assignments *)),
    .page-subtask-overview .task-assignment-panel-clear:where(:not(.ticket-overview-assignments *)),
    .page-work-overview .task-assignment-panel-clear:where(:not(.ticket-overview-assignments *)) {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        border-radius: 8px !important;
        font-size: 0.72rem !important;
    }

    .page-task-overview .task-assignment-panel-body,
    .page-subtask-overview .task-assignment-panel-body,
    .page-work-overview .task-assignment-panel-body {
        gap: 4px !important;
        padding: var(--ticket-overview-pad, 8px) !important;
    }

    .page-task-overview .task-assignment-panel-list,
    .page-subtask-overview .task-assignment-panel-list,
    .page-work-overview .task-assignment-panel-list {
        gap: 3px !important;
        padding-left: 15px !important;
        font-size: 0.68rem !important;
    }

    .page-task-overview .task-assignment-panel-name,
    .page-subtask-overview .task-assignment-panel-name,
    .page-work-overview .task-assignment-panel-name {
        font-size: 0.74rem !important;
        line-height: 1.15 !important;
    }

    .page-task-overview .task-assignment-supporter-card,
    .page-subtask-overview .task-assignment-supporter-card,
    .page-work-overview .task-assignment-supporter-card {
        gap: 7px !important;
        padding: 6px 7px !important;
        border-radius: 8px !important;
    }

    .page-task-overview .task-assignment-supporter-icon,
    .page-subtask-overview .task-assignment-supporter-icon,
    .page-work-overview .task-assignment-supporter-icon {
        width: 20px !important;
        min-width: 20px !important;
        font-size: 0.72rem !important;
    }

    .page-task-overview .task-assignment-supporter-name,
    .page-subtask-overview .task-assignment-supporter-name,
    .page-work-overview .task-assignment-supporter-name {
        font-size: 0.72rem !important;
        line-height: 1.15 !important;
    }

    .page-task-overview .task-assignment-supporter-meta,
    .page-subtask-overview .task-assignment-supporter-meta,
    .page-work-overview .task-assignment-supporter-meta {
        font-size: 0.62rem !important;
        line-height: 1.15 !important;
    }

    .page-task-overview:not(.meeting-live-ticket) #comments-section > .comments-head,
    .page-subtask-overview:not(.meeting-live-ticket) #comments-section > .comments-head,
    .page-work-overview:not(.meeting-live-ticket) #comments-section > .comments-head {
        font-size: 0.9rem !important;
        margin-bottom: 6px !important;
    }

    .page-task-overview .comment-form > .field > label[for="comment_text"],
    .page-subtask-overview .comment-form > .field > label[for="comment_text"],
    .page-work-overview .comment-form > .field > label[for="comment_text"] {
        display: none !important;
    }

    .page-task-overview .comment-form,
    .page-subtask-overview .comment-form,
    .page-work-overview .comment-form {
        gap: 6px !important;
        margin-bottom: 10px !important;
    }

    .page-task-overview .comment-form-actions,
    .page-subtask-overview .comment-form-actions,
    .page-work-overview .comment-form-actions {
        gap: 6px !important;
    }

    .page-task-overview .comment-form-actions .comment-send,
    .page-task-overview .comment-form-actions .comment-mention-trigger,
    .page-subtask-overview .comment-form-actions .comment-send,
    .page-subtask-overview .comment-form-actions .comment-mention-trigger,
    .page-work-overview .comment-form-actions .comment-send,
    .page-work-overview .comment-form-actions .comment-mention-trigger {
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 0.76rem !important;
    }

    .page-task-overview .comment-form-actions .comment-mention-trigger,
    .page-subtask-overview .comment-form-actions .comment-mention-trigger,
    .page-work-overview .comment-form-actions .comment-mention-trigger {
        width: 34px !important;
        min-width: 34px !important;
        padding: 0 !important;
    }

    .page-subtask-overview .ticket-meta-grid > .ticket-meta-card:nth-child(3),
    .page-work-overview .ticket-meta-grid > .ticket-meta-card:nth-child(3) {
        display: none !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-table-wrap {
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        border-collapse: separate !important;
        background: transparent !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-table thead {
        display: none !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-table tbody {
        display: grid !important;
        gap: 8px !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-table tr[hidden] {
        display: none !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-row {
        display: block !important;
        margin-top: 10px !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-row:first-child {
        margin-top: 0 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-row > td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        border: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-headline {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 6px !important;
        padding: 10px 11px !important;
        border: 1px solid var(--pc-level-work-border-strong) !important;
        border-radius: 14px !important;
        background: var(--pc-level-work-bg) !important;
        color: var(--pc-level-work-text) !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-row.is-row-link .work-section-headline {
        border-color: var(--pc-level-subtask-border-strong) !important;
        background: var(--pc-level-subtask-bg) !important;
        color: var(--pc-level-subtask-text) !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-left {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 4px 6px !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-toggle,
    .page-task-overview:not(.page-work-overview) .work-section-label {
        padding: 0 !important;
        color: inherit !important;
        font-size: 0.78rem !important;
        line-height: 1.2 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-toggle {
        width: 24px !important;
        min-width: 24px !important;
        min-height: 24px !important;
        justify-content: center !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-meta {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        color: inherit !important;
        font-size: 0.68rem !important;
        line-height: 1.2 !important;
        opacity: 0.76 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-row-actions {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        padding: 0 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-row-actions .btn {
        min-height: 30px !important;
        height: 30px !important;
        padding: 0 8px !important;
        border-radius: 9px !important;
        font-size: 0.7rem !important;
    }

    .page-task-overview:not(.page-work-overview) .work-section-row-actions .icon-btn-square,
    .page-task-overview:not(.page-work-overview) .work-section-row-actions .delete-subtask-btn {
        width: 30px !important;
        min-width: 30px !important;
        padding: 0 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "work-id work-status"
            "work-name work-name"
            "work-owner work-owner"
            "work-start work-end" !important;
        gap: 8px 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px !important;
        border: 1px solid var(--pc-level-work-border-strong) !important;
        border-radius: 14px !important;
        background: var(--pc-level-work-bg) !important;
        color: var(--pc-level-work-text) !important;
        box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row[data-subtask-sid] {
        width: calc(100% - 10px) !important;
        margin-left: 10px !important;
        border-left: 4px solid var(--pc-level-subtask-border-strong) !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row.is-warning {
        box-shadow: inset 0 0 0 2px rgba(202, 138, 4, 0.38), 0 6px 16px rgba(15, 23, 42, 0.06) !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row.is-overdue {
        box-shadow: inset 0 0 0 2px rgba(190, 18, 60, 0.36), 0 6px 16px rgba(15, 23, 42, 0.06) !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row.is-done {
        opacity: 0.82 !important;
        box-shadow: none !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        border: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        text-align: left !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(1) {
        grid-area: work-id !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(2) {
        grid-area: work-name !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(3) {
        grid-area: work-owner !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(4) {
        grid-area: work-start !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(5) {
        grid-area: work-end !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(6) {
        grid-area: work-status !important;
        justify-self: end !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(7) {
        display: none !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td::before {
        display: block !important;
        margin-bottom: 2px !important;
        color: inherit !important;
        font-size: 0.56rem !important;
        font-weight: 800 !important;
        letter-spacing: 0.04em !important;
        line-height: 1.05 !important;
        text-transform: uppercase !important;
        opacity: 0.72 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(1)::before {
        content: "ID";
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(2)::before {
        content: "Name";
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(3)::before {
        content: "Bearbeiter";
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(4)::before {
        content: "Start";
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(5)::before {
        content: "Ende";
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(6)::before {
        content: "";
        display: none !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row .active-phase-task-link {
        padding: 0 !important;
        background: transparent !important;
        color: var(--pc-level-work-text) !important;
        font-size: 0.72rem !important;
        line-height: 1.22 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(1) .active-phase-task-link {
        color: var(--pc-level-work-text) !important;
        font-size: 0.7rem !important;
        font-weight: 800 !important;
        opacity: 0.86 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > td:nth-child(2) .active-phase-task-link {
        color: var(--pc-level-work-text) !important;
        font-size: 0.84rem !important;
        font-weight: 800 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-cell {
        gap: 3px !important;
    }

    .page-task-overview:not(.page-work-overview) .dependency-note {
        color: inherit !important;
        gap: 4px !important;
        font-size: 0.66rem !important;
        line-height: 1.2 !important;
        opacity: 0.82 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-status-actions {
        justify-content: flex-end !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    .page-task-overview:not(.page-work-overview) .work-row-actions {
        display: none !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row > .work-list-actions-cell {
        display: none !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row .active-phase-task-status-btn {
        width: auto !important;
        min-width: 30px !important;
        height: 26px !important;
        min-height: 26px !important;
        padding: 0 7px !important;
        border: 1px solid currentColor !important;
        border-radius: 9px !important;
        background: rgba(255, 255, 255, 0.16) !important;
        color: var(--pc-level-work-text) !important;
        gap: 4px !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row .active-phase-task-status-btn i {
        font-size: 0.76rem !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row .active-phase-task-status-btn::after {
        content: attr(data-status-label);
        display: inline-block !important;
        max-width: 78px !important;
        overflow: hidden !important;
        color: currentColor !important;
        font-size: 0.62rem !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row-empty {
        display: block !important;
        padding: 10px !important;
        border: 1px dashed #CED5BF !important;
        border-radius: 12px !important;
        background: #fcfdff !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row-empty > td {
        display: block !important;
        border: 0 !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .page-task-overview:not(.page-work-overview) .work-list-row-empty .work-cell {
        padding: 0 !important;
        color: #64748b !important;
        font-size: 0.72rem !important;
    }

}

@media (max-width: 760px) {
    body:not(.is-iframe-embed) .project-actionbar-mobile-toggle {
        position: fixed;
        top: calc(10px + env(safe-area-inset-top, 0px));
        right: 10px;
        z-index: 5600;
        width: 44px;
        height: 44px;
        border: 1px solid #56705D;
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(246, 250, 255, 0.72), rgba(226, 240, 255, 0.46));
        color: #56705D;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.78);
        -webkit-backdrop-filter: blur(16px) saturate(1.22);
        backdrop-filter: blur(16px) saturate(1.22);
        cursor: pointer;
        transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
    }

    html.is-iframe-embed body .project-actionbar-mobile-toggle,
    body.is-iframe-embed .project-actionbar-mobile-toggle {
        display: none !important;
    }

    .project-actionbar-mobile-toggle i {
        color: #56705D !important;
        font-size: 1.18rem;
        line-height: 1;
    }

    body.is-mobile-actionbar-open .project-actionbar-mobile-toggle {
        background: rgba(255, 255, 255, 0.92);
        border-color: #56705D;
        color: #56705D;
        box-shadow: 0 12px 26px rgba(15, 23, 42, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.82);
    }

    .project-actionbar-mobile-backdrop {
        position: fixed;
        inset: 0;
        z-index: 5480;
        display: block;
        background: transparent;
    }

    .project-actionbar-mobile-backdrop[hidden] {
        display: none !important;
    }

    .top-actions.project-actionbar:not(.project-actionbar--embedded),
    .page-project-overview .top-actions.project-actionbar:not(.project-actionbar--embedded),
    .page-task-overview .top-actions.project-actionbar:not(.project-actionbar--embedded),
    .page-create-project.page-project-settings .project-actionbar:not(.project-actionbar--embedded) {
        position: fixed !important;
        top: calc(62px + env(safe-area-inset-top, 0px)) !important;
        right: 0 !important;
        left: auto !important;
        z-index: 5540 !important;
        width: 20vw !important;
        min-width: 0 !important;
        max-width: 20vw !important;
        height: auto !important;
        max-height: calc(100svh - 74px - env(safe-area-inset-top, 0px)) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding: 10px 6px !important;
        border: 1px solid rgba(255, 255, 255, 0.72) !important;
        border-right: 0 !important;
        border-radius: 18px 0 0 18px !important;
        background: linear-gradient(180deg, rgba(246, 250, 255, 0.88), rgba(226, 240, 255, 0.52)) !important;
        box-shadow: -18px 0 36px rgba(15, 23, 42, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.2) !important;
        backdrop-filter: blur(18px) saturate(1.2) !important;
        opacity: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        pointer-events: none !important;
        transform: translateX(calc(100% + 18px)) !important;
        transition: transform 0.26s ease, opacity 0.18s ease !important;
    }

    .top-actions.project-actionbar:not(.project-actionbar--embedded).is-mobile-open,
    .page-project-overview .top-actions.project-actionbar:not(.project-actionbar--embedded).is-mobile-open,
    .page-task-overview .top-actions.project-actionbar:not(.project-actionbar--embedded).is-mobile-open,
    .page-create-project.page-project-settings .project-actionbar:not(.project-actionbar--embedded).is-mobile-open {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(0) !important;
    }

    .project-actionbar:not(.project-actionbar--embedded) .project-actionbar-collapse-toggle {
        display: none !important;
    }

    .project-actionbar:not(.project-actionbar--embedded) .project-actionbar-items,
    .project-actionbar:not(.project-actionbar--embedded).is-collapsed .project-actionbar-items {
        width: 100% !important;
        max-width: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        opacity: 1 !important;
        overflow: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .project-actionbar:not(.project-actionbar--embedded) .auth-form,
    .project-actionbar:not(.project-actionbar--embedded) .project-actionbar-form {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        flex: 0 0 42px !important;
        margin: 0 !important;
    }

    .project-actionbar:not(.project-actionbar--embedded) .project-actionbar-items > .project-actionbar-btn:not(.project-actionbar-create-btn),
    .project-actionbar:not(.project-actionbar--embedded) .project-actionbar-items > .project-actionbar-form > .project-actionbar-btn,
    .project-actionbar:not(.project-actionbar--embedded) .project-actionbar-items > :is(.project-info-btn, .project-notification-btn, [aria-label="Homepage"], [aria-label*="Zurück"]) {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 42px !important;
    }

    .project-actionbar-create-embed {
        z-index: 25000 !important;
    }

    .project-actionbar-ticket-preview-embed {
        z-index: 25000 !important;
        padding: 0 !important;
    }

    .project-actionbar-ticket-preview-card {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100svh !important;
        max-height: 100svh !important;
        min-height: 100svh !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .project-actionbar-create-shell-page .modal-shell {
        inset: 0 !important;
    }

    .project-actionbar-create-shell-page .modal-card,
    .project-actionbar-create-shell-page :is(#task-modal, #subtask-modal, #work-modal) .modal-card {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100svh !important;
        max-height: 100svh !important;
        min-height: 100svh !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .project-actionbar-create-shell-page .modal-card-body,
    .project-actionbar-create-shell-page .modal-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: auto !important;
        padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .project-actionbar-create-shell-page .modal-card-footer,
    .project-actionbar-create-shell-page .modal-actions {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 20 !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        border-top: 1px solid rgba(216, 222, 230, 0.92) !important;
        background: rgba(248, 250, 252, 0.96) !important;
        box-shadow: 0 -12px 28px rgba(15, 23, 42, 0.12) !important;
        -webkit-backdrop-filter: blur(14px) saturate(1.16) !important;
        backdrop-filter: blur(14px) saturate(1.16) !important;
    }

    .project-actionbar-create-shell-page :is(
        #project-plan-phase-cancel-btn,
        #task-modal-cancel-btn,
        #subtask-modal-cancel-btn,
        #work-modal-cancel-btn,
        #task-modal-save-next-btn,
        #subtask-modal-save-next-btn,
        #work-modal-save-next-btn
    ) {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        flex: 0 0 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .project-actionbar-create-shell-page :is(
        #task-modal-save-btn,
        #subtask-modal-save-btn,
        #work-modal-save-btn,
        #project-plan-phase-save-btn
    ) {
        min-width: 0 !important;
        min-height: 44px !important;
        flex: 1 1 auto !important;
        justify-content: center !important;
    }

    .project-actionbar-create-shell-page :is(
        #project-plan-phase-cancel-btn,
        #task-modal-cancel-btn,
        #subtask-modal-cancel-btn,
        #work-modal-cancel-btn,
        #task-modal-save-next-btn,
        #subtask-modal-save-next-btn,
        #work-modal-save-next-btn
    ) .modal-action-label {
        display: none !important;
    }

    .project-actionbar-create-shell-page .mobile-modal-action-icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: currentColor !important;
        line-height: 1 !important;
    }

    .project-actionbar-create-shell-page .mobile-modal-action-icon-stack {
        gap: 1px !important;
        position: relative !important;
    }

    .project-actionbar-create-shell-page .mobile-modal-action-icon-stack .bi-plus-lg {
        font-size: 0.62rem !important;
        margin-left: -2px !important;
        margin-top: -9px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) {
        font-size: 13px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .modal-head {
        padding: 10px 12px 8px !important;
        min-height: 44px !important;
        align-items: center !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .modal-head h2 {
        font-size: 0.98rem !important;
        line-height: 1.18 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .modal-body {
        padding: 10px 12px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-modal-sections {
        gap: 0 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-modal-section {
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-modal-section + .task-modal-section {
        margin-top: 8px !important;
        padding-top: 8px !important;
        border-top: 1px solid #edf1f6 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-modal-section-summary {
        min-height: 28px !important;
        gap: 8px !important;
        padding: 0 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-modal-section-title {
        font-size: 0.78rem !important;
        line-height: 1.12 !important;
        letter-spacing: 0.01em !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-modal-section-arrow {
        width: 18px !important;
        height: 18px !important;
        font-size: 0.76rem !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-modal-section-body {
        padding-top: 7px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) :is(.task-form-grid, .subtask-general-top-grid, .task-assignment-section-grid) {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-form-grid.task-time-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-form-grid.task-time-grid > * {
        min-width: 0 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-form-grid.task-time-grid > *:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-form-grid.task-time-grid > *:nth-child(2) {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-form-grid .full {
        grid-column: 1 / -1 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .field-label-inline {
        gap: 4px !important;
        margin-bottom: 4px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) :is(.field-label, .field-label-inline .field-label, label) {
        font-size: 0.68rem !important;
        line-height: 1.1 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .inline-info summary {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        font-size: 0.78rem !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .inline-info-popover {
        width: min(300px, calc(100vw - 28px)) !important;
        max-width: calc(100vw - 28px) !important;
        padding: 9px 10px !important;
        font-size: 0.76rem !important;
        line-height: 1.35 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) :is(.text-input, .text-area, .select-input, input, select, textarea) {
        min-height: 36px !important;
        border-radius: 9px !important;
        padding: 7px 9px !important;
        font-size: 16px !important;
        line-height: 1.18 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) :is(#task_start_date, #task_end_date, #subtask_start_date, #subtask_end_date, #work_start_date, #work_end_date) {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 5px !important;
        padding-right: 3px !important;
        font-size: 15px !important;
        letter-spacing: -0.03em !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) textarea,
    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .text-area {
        min-height: 132px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .duration-field-wrap {
        gap: 5px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .duration-toggle-inline {
        gap: 6px !important;
        font-size: 0.68rem !important;
        line-height: 1.15 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .duration-toggle-inline input[type="checkbox"] {
        width: 15px !important;
        height: 15px !important;
        min-height: 15px !important;
        padding: 0 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-assignment-section-stack {
        gap: 9px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-assignment-control {
        gap: 6px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-assignment-box {
        min-height: 38px !important;
        border-radius: 10px !important;
        padding: 7px 9px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-assignment-box-content {
        gap: 7px !important;
        align-items: center !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-assignment-box-icon {
        width: 18px !important;
        min-width: 18px !important;
        font-size: 0.82rem !important;
        margin-top: 0 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-assignment-box-title {
        font-size: 0.76rem !important;
        line-height: 1.16 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-assignment-box-meta {
        font-size: 0.66rem !important;
        line-height: 1.2 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .task-assignment-clear {
        width: 36px !important;
        min-width: 36px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .supporter-list {
        max-height: 132px !important;
        padding: 5px !important;
        border-radius: 9px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) :is(.supporter-item, .supporter-option) {
        min-height: 30px !important;
        padding: 5px 6px !important;
        gap: 6px !important;
        font-size: 0.72rem !important;
        line-height: 1.16 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) :is(.supporter-item, .supporter-option) input[type="checkbox"] {
        width: 15px !important;
        height: 15px !important;
        min-height: 15px !important;
        padding: 0 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-description-files-grid {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-description-column .text-area {
        min-height: 132px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-files-panel.task-files-panel {
        min-height: 156px !important;
        padding: 9px !important;
        gap: 8px !important;
        border-radius: 11px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-files-panel .task-files-head h2,
    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-files-panel .task-section-title {
        font-size: 0.82rem !important;
        line-height: 1.16 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-files-panel .task-files-panel-body {
        min-height: 92px !important;
        padding: 8px !important;
        border-radius: 9px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-files-panel .task-files-message {
        font-size: 0.76rem !important;
        line-height: 1.3 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-files-panel .task-file-group-title {
        margin-bottom: 5px !important;
        font-size: 0.7rem !important;
        gap: 5px !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) :is(.add-ticket-files-panel, .add-ticket-file-item) .task-file-name {
        font-size: 0.74rem !important;
        line-height: 1.2 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) :is(.add-ticket-files-panel, .add-ticket-file-item) .task-file-meta {
        gap: 5px 7px !important;
        font-size: 0.66rem !important;
        line-height: 1.2 !important;
    }

    :is(.page-project-overview, .page-task-overview, .project-actionbar-create-shell-page) :is(#task-modal, #subtask-modal, #work-modal) .add-ticket-file-upload-form .task-file-upload-btn {
        min-height: 36px !important;
        border-radius: 10px !important;
        font-size: 0.78rem !important;
    }
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-card {
    position: relative;
    overflow: visible;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-popover {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    z-index: 90;
    width: min(320px, calc(100vw - 56px));
    padding: 12px;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
    pointer-events: none;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-card:hover .ticket-id-hierarchy-popover,
:is(.page-phase-overview, .page-subproject-overview) .ticket-id-card:focus-within .ticket-id-hierarchy-popover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-title {
    margin: 0 0 10px;
    font-size: 0.76rem;
    font-weight: 700;
    color: #4b5563;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-row {
    display: flex;
    width: 100%;
    position: relative;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-row--center {
    justify-content: center;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-row--left {
    justify-content: flex-start;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-row--right {
    justify-content: flex-end;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-row--subtask-bridge::after {
    content: "";
    position: absolute;
    left: calc(75% - 1px);
    top: -6px;
    bottom: -18px;
    width: 2px;
    background: #cfd6de;
    border-radius: 999px;
    pointer-events: none;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-node {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56%;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
    color: #111827;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    word-break: break-word;
}

body.page-phase-overview:not(.page-subproject-overview) .ticket-id-hierarchy-node.is-current {
    border-color: var(--pc-level-phase-border-strong);
    background: var(--pc-level-phase-bg);
    color: var(--pc-level-phase-text);
}

body.page-subproject-overview .ticket-id-hierarchy-node.is-current {
    border-color: var(--pc-level-subproject-border-strong);
    background: var(--pc-level-subproject-bg);
    color: var(--pc-level-subproject-text);
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector {
    position: relative;
    width: 100%;
    height: 24px;
    flex: 0 0 auto;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-line {
    position: absolute;
    display: block;
    background: #cfd6de;
    border-radius: 999px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector--phase-task .ticket-id-hierarchy-line--main {
    left: calc(50% - 1px);
    top: 0;
    bottom: 0;
    width: 2px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector--task-branch .ticket-id-hierarchy-line--vertical-top {
    left: calc(50% - 1px);
    top: 0;
    height: 12px;
    width: 2px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector--task-branch .ticket-id-hierarchy-line--horizontal {
    left: 25%;
    right: 25%;
    top: 12px;
    height: 2px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector--task-branch .ticket-id-hierarchy-line--vertical-left {
    left: calc(25% - 1px);
    top: 12px;
    bottom: 0;
    width: 2px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector--task-branch .ticket-id-hierarchy-line--vertical-right {
    left: calc(75% - 1px);
    top: 12px;
    bottom: 0;
    width: 2px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector--subtask-work .ticket-id-hierarchy-line--vertical-left {
    left: calc(25% - 1px);
    top: 0;
    height: 12px;
    width: 2px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector--subtask-work .ticket-id-hierarchy-line--horizontal {
    left: 25%;
    right: 25%;
    top: 12px;
    height: 2px;
}

:is(.page-phase-overview, .page-subproject-overview) .ticket-id-hierarchy-connector--subtask-work .ticket-id-hierarchy-line--vertical-right {
    left: calc(75% - 1px);
    top: 12px;
    bottom: 0;
    width: 2px;
}

.page-task-overview .ticket-id-card:hover .ticket-id-hierarchy-popover,
.page-task-overview .ticket-id-card:focus-within .ticket-id-hierarchy-popover,
.page-subtask-overview .ticket-id-card:hover .ticket-id-hierarchy-popover,
.page-subtask-overview .ticket-id-card:focus-within .ticket-id-hierarchy-popover,
.page-work-overview .ticket-id-card:hover .ticket-id-hierarchy-popover,
.page-work-overview .ticket-id-card:focus-within .ticket-id-hierarchy-popover,
.page-phase-overview .ticket-id-card:hover .ticket-id-hierarchy-popover,
.page-phase-overview .ticket-id-card:focus-within .ticket-id-hierarchy-popover,
.page-subproject-overview .ticket-id-card:hover .ticket-id-hierarchy-popover,
.page-subproject-overview .ticket-id-card:focus-within .ticket-id-hierarchy-popover {
    pointer-events: auto !important;
}

.page-task-overview .ticket-id-hierarchy-popover:hover,
.page-subtask-overview .ticket-id-hierarchy-popover:hover,
.page-work-overview .ticket-id-hierarchy-popover:hover,
.page-phase-overview .ticket-id-hierarchy-popover:hover,
.page-subproject-overview .ticket-id-hierarchy-popover:hover {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.page-task-overview .ticket-id-hierarchy-popover::before,
.page-subtask-overview .ticket-id-hierarchy-popover::before,
.page-work-overview .ticket-id-hierarchy-popover::before,
.page-phase-overview .ticket-id-hierarchy-popover::before,
.page-subproject-overview .ticket-id-hierarchy-popover::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -14px;
    height: 14px;
}

.page-task-overview .ticket-id-hierarchy-node,
.page-subtask-overview .ticket-id-hierarchy-node,
.page-work-overview .ticket-id-hierarchy-node,
.page-phase-overview .ticket-id-hierarchy-node,
.page-subproject-overview .ticket-id-hierarchy-node {
    flex-direction: column !important;
    gap: 3px !important;
    min-height: 38px !important;
    padding: 6px 8px !important;
    line-height: 1.14 !important;
}

.page-task-overview .ticket-id-hierarchy-node-label,
.page-subtask-overview .ticket-id-hierarchy-node-label,
.page-work-overview .ticket-id-hierarchy-node-label,
.page-phase-overview .ticket-id-hierarchy-node-label,
.page-subproject-overview .ticket-id-hierarchy-node-label {
    display: block;
    max-width: 100%;
    line-height: 1.08;
}

.page-task-overview .ticket-id-hierarchy-context,
.page-subtask-overview .ticket-id-hierarchy-context,
.page-work-overview .ticket-id-hierarchy-context,
.page-phase-overview .ticket-id-hierarchy-context,
.page-subproject-overview .ticket-id-hierarchy-context {
    display: block;
    max-width: 100%;
    padding: 3px 5px;
    border: 1px solid #4b5563;
    border-radius: 6px;
    background: transparent;
    color: #374151;
    font-size: 0.62rem;
    font-weight: 650;
    line-height: 1.08;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-task-overview .ticket-id-hierarchy-node.is-link,
.page-subtask-overview .ticket-id-hierarchy-node.is-link,
.page-work-overview .ticket-id-hierarchy-node.is-link,
.page-phase-overview .ticket-id-hierarchy-node.is-link,
.page-subproject-overview .ticket-id-hierarchy-node.is-link {
    cursor: pointer;
    text-decoration: none !important;
}

.page-task-overview .ticket-id-hierarchy-node.is-link:hover,
.page-task-overview .ticket-id-hierarchy-node.is-link:focus-visible,
.page-subtask-overview .ticket-id-hierarchy-node.is-link:hover,
.page-subtask-overview .ticket-id-hierarchy-node.is-link:focus-visible,
.page-work-overview .ticket-id-hierarchy-node.is-link:hover,
.page-work-overview .ticket-id-hierarchy-node.is-link:focus-visible,
.page-phase-overview .ticket-id-hierarchy-node.is-link:hover,
.page-phase-overview .ticket-id-hierarchy-node.is-link:focus-visible,
.page-subproject-overview .ticket-id-hierarchy-node.is-link:hover,
.page-subproject-overview .ticket-id-hierarchy-node.is-link:focus-visible {
    border-color: #56705D;
    box-shadow: 0 0 0 3px rgba(86, 112, 93, 0.14);
    outline: none;
}

/* Unsaved back confirmation */
.unsaved-back-confirm-overlay {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.45);
    z-index: 25000;
    padding: 18px;
}

.unsaved-back-confirm-overlay.is-visible {
    display: flex;
}

body.page-phase-overview:not(.page-subproject-overview),
body.page-subproject-overview {
    --ticket-level-bg: #ffffff !important;
    --ticket-level-text: #111827 !important;
    --ticket-level-rgb: 255, 255, 255 !important;
    background: #ffffff !important;
}

body.page-phase-overview:not(.page-subproject-overview) .surface {
    border-width: 2px !important;
    border-color: var(--pc-level-phase-border-strong) !important;
}

body.page-subproject-overview .surface {
    border-width: 2px !important;
    border-color: var(--pc-level-subproject-border-strong) !important;
}

body.page-phase-overview:not(.page-subproject-overview) .ticket-id-card {
    border-width: 2px !important;
    border-color: var(--pc-level-phase-border-strong) !important;
    background: var(--pc-level-phase-bg) !important;
    color: var(--pc-level-phase-text) !important;
}

body.page-subproject-overview .ticket-id-card {
    border-width: 2px !important;
    border-color: var(--pc-level-subproject-border-strong) !important;
    background: var(--pc-level-subproject-bg) !important;
    color: var(--pc-level-subproject-text) !important;
}

.unsaved-back-confirm-dialog {
    width: min(460px, calc(100vw - 28px));
    background: #ffffff;
    border: 1px solid #d8dee6;
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.24);
    padding: 18px;
}

.unsaved-back-confirm-title {
    margin: 0;
    font-size: 1.1rem;
    color: #0f172a;
}

.unsaved-back-confirm-text {
    margin: 10px 0 0;
    font-size: 0.93rem;
    line-height: 1.5;
    color: #334155;
}

.unsaved-back-confirm-actions {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.task-assignment-panel-inherit {
    position: relative;
}

.assignment-inherit-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25em;
    height: 1.25em;
}

.assignment-inherit-icon-main {
    font-size: 1.05em;
    line-height: 1;
}

.assignment-inherit-icon-arrow {
    position: absolute;
    right: -0.32em;
    font-size: 0.82em;
    line-height: 1;
    font-weight: 700;
}

.task-assignment-panel-inherit[data-assignment-inherit-direction="up"] .assignment-inherit-icon-arrow {
    top: -0.42em;
}

.task-assignment-panel-inherit[data-assignment-inherit-direction="down"] .assignment-inherit-icon-arrow {
    bottom: -0.42em;
}

.assignment-inheritance-confirm-modal .modal-card {
    max-width: 620px;
}

.assignment-inheritance-confirm-modal .modal-header {
    padding: 24px 32px 18px;
    border-bottom: 1px solid #e5ebf2;
}

.assignment-inheritance-confirm-modal .modal-header h2 {
    margin: 0;
}

.assignment-inheritance-confirm-modal .modal-body {
    padding: 24px 32px;
}

.assignment-inheritance-confirm-modal .modal-actions {
    padding: 18px 32px 24px;
    gap: 12px;
    flex-wrap: wrap;
}

.ticket-info-modal-open {
    overflow: hidden;
}

.ticket-info-modal-shell[hidden] {
    display: none !important;
}

.ticket-info-modal-shell {
    position: fixed;
    inset: 0;
    z-index: 27000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
}

.ticket-info-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.42);
    backdrop-filter: blur(4px);
}

.ticket-info-modal-card {
    position: relative;
    z-index: 1;
    width: min(920px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #d7e0ea;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.ticket-info-modal-head {
    padding: 24px 28px 18px;
    border-bottom: 1px solid #e5ebf2;
}

.ticket-info-modal-head h2 {
    margin: 0;
    color: #111827;
    font-size: 1.2rem;
    font-weight: 800;
}

.ticket-info-modal-body {
    overflow: auto;
    padding: 24px 28px;
}

.ticket-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ticket-info-item {
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid #d7e0ea;
    border-radius: 16px;
    background: #f8fafc;
}

.ticket-info-label {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ticket-info-value {
    display: block;
    color: #111827;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.ticket-info-log-section {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #e5ebf2;
}

.ticket-info-log-title {
    margin: 0 0 14px;
    color: #111827;
    font-size: 1rem;
    font-weight: 800;
}

.ticket-info-log-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 320px;
    overflow: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ticket-info-log-entry {
    padding: 12px 14px;
    border: 1px solid #d7e0ea;
    border-radius: 14px;
    background: #ffffff;
}

.ticket-info-log-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 7px;
    color: #64748b;
    font-size: 0.82rem;
}

.ticket-info-log-type {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #eef4ed;
    color: #58745e;
    font-weight: 800;
}

.ticket-info-log-text {
    margin: 0;
    color: #111827;
    font-size: 0.92rem;
    line-height: 1.45;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.ticket-info-log-empty {
    margin: 0;
    padding: 14px 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    color: #64748b;
    background: #f8fafc;
}

.ticket-info-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 18px 28px 24px;
    border-top: 1px solid #e5ebf2;
}

@media (max-width: 760px) {
    .ticket-info-modal-shell {
        padding: 14px;
    }

    .ticket-info-modal-card {
        width: calc(100vw - 28px);
        max-height: calc(100vh - 28px);
        border-radius: 18px;
    }

    .ticket-info-modal-head,
    .ticket-info-modal-body,
    .ticket-info-modal-actions {
        padding-left: 18px;
        padding-right: 18px;
    }

    .ticket-info-grid {
        grid-template-columns: 1fr;
    }
}
.ticket-name-char-count {
    display: block;
    margin-top: .25rem;
    color: #64748b;
    font-size: .78rem;
    text-align: right;
}

.ticket-name-char-count.is-over {
    color: #b42318;
    font-weight: 700;
}

/* Read-only clipboard action, scoped to the four marked ticket headers. */
[data-ticket-header-copy] .ticket-name-card { flex-wrap: wrap; }
[data-ticket-header-copy] .ticket-name-row { flex: 1 0 100%; }
[data-ticket-header-copy] .ticket-header-copy-btn:focus-visible,
[data-ticket-header-copy] .ticket-header-copy-feedback :is(textarea, button):focus-visible {
    outline: 3px solid #234632;
    outline-offset: 3px;
}
[data-ticket-header-copy] .ticket-header-copy-feedback {
    flex: 1 0 100%;
    width: 100%;
    min-width: 0;
    font-size: .85rem;
    color: #36543f;
    overflow-wrap: anywhere;
}
[data-ticket-header-copy] .ticket-header-copy-feedback p:empty { display: none; }
[data-ticket-header-copy] .ticket-header-copy-feedback p { margin: .5rem 0; }
[data-ticket-header-copy] .ticket-header-copy-feedback.is-error { color: #9f1239; }
[data-ticket-header-copy] .ticket-header-copy-feedback [hidden] { display: none !important; }
[data-ticket-header-copy] .ticket-header-copy-feedback textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: .5rem 0;
    padding: .6rem;
    border: 1px solid #81988a;
    border-radius: 8px;
    background: #fff;
    color: #111827;
    font: inherit;
    resize: vertical;
}
@media print {
    [data-ticket-header-copy] .ticket-header-copy-btn,
    [data-ticket-header-copy] .ticket-header-copy-feedback { display: none !important; }
}
[data-protocol-history] [hidden] { display: none !important; }
[data-protocol-history] .protocol-history-controls { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0 .5rem; }
[data-protocol-history] .protocol-history-controls .btn { white-space: normal; text-align: left; max-width: 100%; }
[data-protocol-history] .protocol-history-controls .btn:focus-visible { outline: 3px solid #36543f; outline-offset: 3px; }
[data-protocol-history] .protocol-history-status { font-size: .9rem; color: #36543f; }
[data-protocol-history] .protocol-history-status:empty { display: none; }
[data-protocol-history] .protocol-summary-card { overflow-wrap: anywhere; min-width: 0; }
@media print { [data-protocol-history] .protocol-history-controls, [data-protocol-history] .protocol-history-status { display: none; } }

/* Riskboard: scoped dashboard cards, using the existing dashboard palette. */
.page-riskmanagement #riskboard-panel[hidden],
.page-riskmanagement #riskboard-panel [hidden],
.page-riskmanagement #riskboard-people-modal[hidden],
.page-riskmanagement #riskboard-people-modal [hidden] { display: none !important; }
.page-riskmanagement .rb-history { grid-column: 1 / -1; }
.page-riskmanagement .rb-chart-scroll { overflow-y: auto; overflow-x: hidden; max-height: 340px; }
.page-riskmanagement .rb-chart-wrap { position: relative; height: 270px; min-width: 0; }
.page-riskmanagement .rb-history .rb-chart-wrap { height: 300px; }
.page-riskmanagement .rb-state:empty, .page-riskmanagement .rb-save-status:empty { display: none; }
.page-riskmanagement .rb-state { margin: 0 0 14px; color: #617084; }
.page-riskmanagement .rb-save-status { font-size: .8rem; text-align: right; color: #617084; margin: 12px 0 0; }
.page-riskmanagement .rb-people-links { display: flex; flex-wrap: wrap; gap: 6px; max-height: 128px; overflow-y: auto; margin-top: 10px; }
.page-riskmanagement .rb-person { border: 1px solid #d8dee6; border-radius: 8px; padding: 6px 9px; color: #36543f; background: #f6f8f3; font: inherit; font-size: .82rem; text-align: left; cursor: pointer; overflow-wrap: anywhere; max-width: 100%; }
.page-riskmanagement .rb-ticket-row { cursor: pointer; }
.page-riskmanagement .rb-ticket-row:hover,
.page-riskmanagement .rb-ticket-row:focus-within { background: #f6f8f3; }
.page-riskmanagement .rb-person:focus-visible { outline: 2px solid #5f7b67; outline-offset: 2px; }
.page-project-overview.page-riskmanagement .modal-card.rb-dialog { display: flex; flex-direction: column; width: min(900px,100%); max-height: calc(100dvh - 36px); padding: 0; overflow: hidden; }
.page-riskmanagement .rb-dialog-heading { display: flex; align-items: center; gap: 12px; justify-content: space-between; padding: 18px; background: #fff; flex: none; }
.page-riskmanagement .rb-dialog-heading h2 { font-size: 1.15rem; margin: 0; overflow-wrap: anywhere; min-width: 0; }
.page-riskmanagement .rb-dialog-heading button { flex-shrink: 0; }
.page-riskmanagement .rb-dialog-body { overflow-y: auto; min-height: 0; padding: 0 18px 18px; overscroll-behavior: contain; }
.page-riskmanagement .rb-ticket-list { list-style: none; padding: 0; margin: 12px 0; }
.page-riskmanagement .rb-ticket-list li { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; border: 1px solid #d8dee6; border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.page-riskmanagement .rb-ticket-list li>div { flex: 1 1 260px; min-width: 0; overflow-wrap: anywhere; }
.page-riskmanagement .rb-ticket-list p { margin: 6px 0 0; font-size: .85rem; color: #617084; }
.page-riskmanagement .rb-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.page-riskmanagement .risk-tab:disabled { opacity: .5; cursor: default; }
.page-project-overview.page-riskmanagement .risk-view-buttons .risk-tab.risk-tab-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    min-height: 42px;
    max-width: 42px;
    padding: 0;
}
.page-riskmanagement .risk-tab-icon > .bi {
    display: inline-flex;
    font-size: 1.1rem;
    line-height: 1;
}
@media(max-width:650px) {
    .page-riskmanagement .rb-dialog-heading { padding: 12px; }
    .page-riskmanagement .rb-dialog-body { padding: 0 12px 12px; }
    .page-project-overview.page-riskmanagement #riskboard-people-modal { padding: 8px; }
    .page-project-overview.page-riskmanagement .modal-card.rb-dialog { max-height: calc(100dvh - 16px); }
}

/* Shared ban information for project and ticket risks. */
.page-project-overview.page-riskmanagement .risk-ban-meta {
    padding: 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin: 12px 0;
    background: rgba(255,255,255,.55);
    overflow-wrap: anywhere;
}
.page-project-overview.page-riskmanagement .risk-ban-meta > strong {
    display: block;
    font-weight: 700;
}
.page-project-overview.page-riskmanagement .risk-ban-meta > p {
    margin: 8px 0 0;
    font-weight: 400;
}

/* Shared timestamp footer for full project/ticket risk cards, including dialogs. */
.page-project-overview.page-riskmanagement .risk-card-dates {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px .4em;
    margin-top: 14px;
    color: #617084;
    font-size: .78rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: right;
}
.page-project-overview.page-riskmanagement .risk-card-date {
    white-space: nowrap;
}
.page-project-overview.page-riskmanagement .risk-card-date-separator {
    margin-right: .2em;
}

/* Shared risk detail dialog and continuous personal chat. */
.page-project-overview.page-riskmanagement .modal-card.rc-dialog{display:flex;flex-direction:column;box-sizing:border-box;width:min(960px,100%);max-height:calc(100dvh - 36px);overflow:hidden;padding:0;border-radius:18px}
#risk-chat-modal .rc-heading{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:20px 20px 16px;background:#fff}
.page-project-overview.page-riskmanagement #risk-chat-title{margin:0;font-size:1.25rem}
#risk-chat-modal .rc-heading>button{flex-shrink:0}
#risk-chat-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 20px;scrollbar-gutter:stable}
#risk-chat-modal[hidden],#risk-chat-modal [hidden]{display:none!important}
#risk-chat-details .risk-card{margin:0;cursor:default}#risk-chat-details .risk-card-title{white-space:normal;overflow:visible;text-overflow:clip}
.rc-chat{margin-top:20px;border-top:1px solid #dce2e9;padding-top:16px;min-width:0}.rc-chat h3{font-size:1.1rem;margin:0 0 8px}
.rc-note{color:#596573;font-size:.875rem;line-height:1.5;margin:8px 0;overflow-wrap:anywhere}
.rc-history{padding:12px;background:#f6f8fb;border:1px solid #dce2e9;border-radius:12px}
.rc-message{max-width:92%;margin:0 0 12px;padding:10px 13px;border:1px solid #e1e6ec;border-radius:13px;background:#fff;color:#202b39;overflow-wrap:anywhere;font-size:1rem;line-height:1.55}.rc-message[data-role="user"]{margin-left:auto;background:#edf3ff;border-color:#cfddf4}.rc-message header{font-size:.8rem;color:#596573;margin-bottom:5px}.rc-message p{white-space:pre-wrap;margin:0}.rc-message small{display:block;margin-top:5px;color:#596573}.rc-message .rc-failure-status{color:#7c2e2e}.rc-message.is-error{border-color:#dba5a5;background:#fff4f4}
.rc-status{display:flex;align-items:center;gap:9px;font-size:.9rem;line-height:1.5}.rc-spinner{width:15px;height:15px;flex-shrink:0;border:2px solid #cad5e4;border-top-color:#42638f;border-radius:50%;animation:rc-spin 1s linear infinite}@keyframes rc-spin{to{transform:rotate(360deg)}}
#risk-chat-form{display:grid;gap:7px;margin-top:12px}#risk-chat-input{font:inherit;line-height:1.5;width:100%;box-sizing:border-box;min-height:90px;max-height:260px;resize:vertical}.rc-send-row{display:flex;gap:12px;align-items:center;justify-content:flex-end}
#risk-chat-choices{display:grid;gap:10px}#risk-chat-choices button{text-align:left;white-space:normal;overflow-wrap:anywhere}
.page-project-overview.page-riskmanagement .risk-matrix-tooltip {
    box-sizing: border-box;
    max-width: calc(100% - 16px);
    overflow-wrap: anywhere;
}
.page-project-overview.page-riskmanagement .risk-edit-btn.risk-info-btn { background: #fff; }
/* Matrix ticket links share the adjacent action buttons' geometry. */
.page-project-overview.page-riskmanagement .rt-risk-open.risk-edit-btn { box-sizing: border-box; padding: 0 !important; gap: 0; }
.page-project-overview.page-riskmanagement .risk-edit-btn.risk-info-btn:hover,
.page-project-overview.page-riskmanagement .risk-edit-btn.risk-info-btn:focus-visible {
    background: #f8fafc;
    border-color: #56705d;
}
.page-project-overview.page-riskmanagement .risk-matrix-detail-body .risk-card-head { flex-wrap: wrap; }
.risk-card[data-risk-open-id]{cursor:pointer}.risk-card[data-risk-open-id]:focus-visible{outline:3px solid #496c9e;outline-offset:3px}.rc-dialog :focus-visible{outline:3px solid #496c9e;outline-offset:2px}
@media(max-width:540px){.page-project-overview.page-riskmanagement #risk-chat-modal{padding:8px}.page-project-overview.page-riskmanagement .modal-card.rc-dialog{max-height:calc(100dvh - 16px)}#risk-chat-modal .rc-heading{padding:12px 12px 16px}#risk-chat-body{padding:0 12px 12px}.rc-message{max-width:100%}.rc-send-row{align-items:flex-end}.rc-dialog .risk-card-metrics{grid-template-columns:1fr}.rc-dialog .risk-card{padding:12px}}
@media(prefers-reduced-motion:reduce){.rc-spinner{animation:none}}

@media(max-width:760px){#risk-chat-modal #pc-error-toast{left:8px;right:8px;width:auto;max-width:calc(100vw - 16px);transform:translateY(180%)}#risk-chat-modal #pc-error-toast.is-visible{transform:translateY(0)}}

.rc-choice-summary{display:block;font-size:.9rem;font-weight:400;line-height:1.5;margin-top:5px}

#risk-chat-permission:empty,#risk-chat-notice:empty{display:none}

/* Scoped shared analysis/review modal: only the middle list scrolls. */
.page-riskmanagement #risk-initial-modal .ri-dialog { width: min(620px, 100%); max-height: calc(100dvh - 32px); overflow-y: auto; }
.page-riskmanagement .ri-dialog h2 { margin: 0 0 16px; }
.page-riskmanagement .ri-dialog p { line-height: 1.5; }
.page-riskmanagement .ri-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; margin-top: 24px; }
.page-riskmanagement .ri-actions .btn:focus { outline: none; }
.page-riskmanagement .ri-actions .btn:focus-visible { outline: 2px solid #56705D; outline-offset: 3px; }
.page-riskmanagement .ri-notice { margin-bottom: 16px; }
.page-riskmanagement :is(.ri-dialog, .ri-notice) [hidden], .page-riskmanagement .ri-notice[hidden] { display: none; }
.page-riskmanagement #risk-analysis-modal .ra-dialog{display:flex;flex-direction:column;width:min(760px,100%);max-height:calc(100dvh - 36px);padding:0;overflow:hidden;border-radius:18px;background:#fff;}
#risk-analysis-modal .ra-loading{display:flex;flex-direction:column;align-items:center;gap:18px;padding:36px 24px;text-align:center;}
#risk-analysis-modal .ra-loading p{margin:0;}
#risk-analysis-modal .ra-heading{flex:none;padding:20px;background:#fff;}
#risk-analysis-modal .ra-heading h2{margin:0;font-size:1.15rem;line-height:1.5;}
#risk-analysis-modal .ra-error{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 20px 12px;padding:12px 14px;border:1px solid #f5c2c7;border-radius:12px;background:#fff1f2;color:#b42318;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;}
#risk-analysis-modal .ra-results{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px;scrollbar-gutter:stable;}
#risk-analysis-modal .ra-result{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px;border:1px solid #d7deea;border-radius:14px;background:#f6f8fb;}
#risk-analysis-modal .ra-result-open{flex:1;min-width:0;border:0;background:transparent;text-align:left;white-space:normal;overflow-wrap:anywhere;font:inherit;color:inherit;cursor:pointer;padding:8px;}
#risk-analysis-modal .ra-footer{flex:none;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;padding:20px;background:#fff;}
#risk-analysis-modal [hidden]{display:none!important;}
@media(max-width:540px){.page-riskmanagement #risk-analysis-modal{padding:8px}.page-riskmanagement #risk-analysis-modal .ra-dialog{max-height:calc(100dvh - 16px)}#risk-analysis-modal .ra-heading,#risk-analysis-modal .ra-footer{padding:12px}#risk-analysis-modal .ra-results{padding:0 12px}}

/* Shared project dashboard components: exact reference styles used by both boards. */
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-phase-select {
    min-width: 260px;
    min-height: 42px;
    padding: 0 42px 0 14px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    color: #1f2937;
    font: inherit;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-phase-select[hidden] {
    display: none !important;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-grid-item {
    min-width: 0;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-card {
    min-width: 0;
    border: 1px solid #d8dee6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    transition: box-shadow 0.14s ease, opacity 0.14s ease;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-card.is-dragging {
    opacity: 0.42;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-card-header {
    cursor: grab;
    user-select: none;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-card-header:active {
    cursor: grabbing;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 16px 10px;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-card-title {
    margin: 0;
    min-width: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #1f2937;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-info-btn {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 999px;
    border: 1px solid #d8dee6;
    background: #ffffff;
    color: #617084;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-info-btn:hover,
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-info-btn:focus-visible {
    border-color: #b9c4d2;
    color: #1f2937;
    outline: none;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-view-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    padding: 0 16px 14px;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-view-tab {
    min-height: 40px;
    border: 1px solid #d8dee6;
    border-radius: 12px;
    background: #ffffff;
    color: #617084;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-view-tab:hover,
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-view-tab:focus-visible {
    border-color: #b9c4d2;
    color: #1f2937;
    outline: none;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-view-tab.is-active {
    border-color: #5f7b67;
    background: rgba(95, 123, 103, 0.12);
    color: #244633;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-card-body {
    position: relative;
    min-height: 300px;
    padding: 0 16px 16px;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-canvas-wrap,
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list-wrap,
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-empty {
    height: 100%;
    min-height: 270px;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-canvas-wrap[hidden],
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list-wrap[hidden],
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-empty[hidden] {
    display: none !important;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-canvas {
    width: 100% !important;
    height: 270px !important;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list-wrap {
    overflow: auto;
    border: 1px solid #e3e8ef;
    border-radius: 14px;
    background: #ffffff;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list {
    width: 100%;
    border-collapse: collapse;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list th,
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list td {
    padding: 10px 12px;
    border-bottom: 1px solid #edf1f5;
    text-align: left;
    font-size: 0.92rem;
    color: #1f2937;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list th:last-child,
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list td:last-child {
    text-align: right;
    white-space: nowrap;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-list thead th {
    position: sticky;
    top: 0;
    background: #f8fafc;
    z-index: 1;
    font-size: 0.82rem;
    color: #617084;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-empty {
    border: 1px dashed #d8dee6;
    border-radius: 14px;
    color: #617084;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 18px;
    background: #fbfcfd;
    font-size: 0.95rem;
    line-height: 1.45;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-info-popover {
    position: fixed;
    z-index: 1200;
    width: min(320px, calc(100vw - 32px));
    border: 1px solid #d8dee6;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.18);
    padding: 12px 14px;
    color: #334155;
    font-size: 0.88rem;
    line-height: 1.5;
}
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-info-popover[hidden] {
    display: none !important;
}
@media (max-width: 1320px) {
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 860px) {
:is(.page-project-overview.page-project-dashboard, .page-riskmanagement) .dashboard-grid {
grid-template-columns: 1fr;
    }
}

/* Only Riskboard-specific behavior; common appearance comes from dashboard classes. */
.page-riskmanagement .rb-card .rb-history-select { min-width: 0; max-width: calc(100% - 32px); width: 260px; margin: 0 16px 14px; }
.page-riskmanagement .rb-card .dashboard-card-title { overflow-wrap: anywhere; }
.page-riskmanagement .rb-card .dashboard-card-body { min-width: 0; }
.page-riskmanagement .rb-card .dashboard-list-wrap { max-height: 340px; }
.page-riskmanagement .rb-card [data-view]:disabled { opacity: .5; cursor: default; }
.page-riskmanagement .rb-card .dashboard-card-header:focus-visible { outline: 2px solid #5f7b67; outline-offset: -3px; }
.page-riskmanagement #riskboard-info-popover { max-width: calc(100vw - 54px); }
.page-riskmanagement .rb-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Kritische Termine: container tones from the risk scale/dashboard palette.
   Ticket row colors remain owned by the shared project-list table. */
.page-riskmanagement #critical-deadlines-panel { min-width:0; }
.page-riskmanagement .cd-list { --cd-accent:#D95C5C; border:1px solid var(--cd-accent); border-radius:16px; padding:16px; margin:0 0 20px; min-width:0; background:color-mix(in srgb,var(--cd-accent) 12%,white); }
.page-riskmanagement .cd-threatened { --cd-accent:#E6A23C; }
.page-riskmanagement .cd-not_started { --cd-accent:#6c8ead; }
.page-riskmanagement .cd-list-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.page-riskmanagement .cd-list-head h2 { margin:0; font-size:1.05rem; overflow-wrap:anywhere; }
.page-riskmanagement .cd-list-head .icon-btn-square { flex:0 0 auto; }
.page-riskmanagement .cd-table { min-width:0; max-width:100%; }
.page-project-overview.page-riskmanagement .cd-table .project-custom-list-table { width:100%; table-layout:auto; }
.page-riskmanagement .cd-table .project-custom-list-table-wrap { max-width:100%; overflow-x:auto; }
.page-riskmanagement .cd-sort { color:inherit; font:inherit; font-weight:inherit; background:none; border:0; padding:0; cursor:pointer; text-align:left; }
.page-riskmanagement .cd-sort:focus-visible { outline:2px solid #56705D; outline-offset:3px; }
.page-riskmanagement .cd-pagination { display:flex; justify-content:flex-end; align-items:center; gap:10px; flex-wrap:wrap; margin-top:14px; }
.page-riskmanagement .cd-pagination[hidden] { display:none; }
.page-riskmanagement #project-lists-ticket-preview-modal { position:fixed; inset:0; }
.page-riskmanagement #project-lists-ticket-preview-backdrop { position:absolute; inset:0; z-index:0; padding:0; background:rgba(15,23,42,.55); }
.page-riskmanagement #project-list-columns-modal .project-list-modal-card { max-height:calc(100dvh - 32px); overflow-y:auto; }
.page-riskmanagement #project-list-columns-modal .project-list-modal-actions { flex-wrap:wrap; }
@media(max-width:600px) { .page-riskmanagement .cd-list { padding:12px; } .page-riskmanagement #project-lists-ticket-preview-modal { padding:8px; } .page-riskmanagement #project-lists-ticket-preview-modal .modal-card { width:100%;max-width:100%;height:calc(100dvh - 16px);max-height:calc(100dvh - 16px); } }

.page-riskmanagement .cd-table th[data-sort-key]::after { pointer-events:none; }

/* Key-based rules survive column reordering and override positional widths. */
.page-project-overview.page-riskmanagement .cd-table .project-custom-list-table th[data-sort-key="id"],
.page-project-overview.page-riskmanagement .cd-table .project-custom-list-table td[data-column-key="id"] {
    width: var(--cd-id-width, auto);
    min-width: var(--cd-id-width, auto);
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    overflow: visible;
    text-overflow: clip;
}
.page-project-overview.page-riskmanagement .cd-table td[data-column-key="id"] .active-phase-task-link {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
    overflow: visible;
    text-overflow: clip;
}

/* Only visible ancestry in the filtered deadline list determines indentation. */
.page-riskmanagement .cd-table td[data-column-key="name"] .active-phase-task-link {
    padding-inline-start: calc(var(--cd-depth, 0) * 18px);
}

/* GPT model administration: existing listbox styling with per-option shutdown states. */
.page-gpt-model .table-wrap{overflow-x:auto}
.page-gpt-model .model-table{min-width:540px}
.page-gpt-model .model-table [data-shutdown-date]{white-space:nowrap}
.page-gpt-model tr[data-shutdown="announced"]{background:#fff8e8}
.page-gpt-model tr[data-shutdown="retired"]{background:#fff1f2}
.page-gpt-model .gpt-primary{margin-top:30px}
.page-gpt-model .gpt-primary h2{font-size:1.25rem;margin:0 0 16px}
.page-gpt-model .gpt-function-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;margin-top:12px;border:1px solid #d8dee6;border-radius:14px}
.page-gpt-model .gpt-picker{width:min(400px,55%);min-width:0}
.page-gpt-model .gpt-picker-trigger{width:100%;min-height:42px;justify-content:space-between;text-align:left;white-space:normal}
.page-gpt-model [data-picker-label]{overflow-wrap:anywhere;min-width:0}
.page-gpt-model .work-type-inline-dropdown{display:block;max-width:none;overflow-y:auto;overscroll-behavior:contain}
.page-gpt-model .work-type-inline-dropdown[hidden]{display:none}
.page-gpt-model .work-type-inline-dropdown-item{overflow-wrap:anywhere;white-space:normal}
.page-gpt-model .work-type-inline-dropdown-item:hover,
.page-gpt-model .work-type-inline-dropdown-item:focus-visible{background:#f8fafc;border-color:#d8dee6}
.page-gpt-model .work-type-inline-dropdown-item[aria-selected="true"]{background:#E9EEE1;border-color:#CED5BF;font-weight:700}
.page-gpt-model .work-type-inline-dropdown-item[aria-disabled="true"]{cursor:not-allowed}
.page-gpt-model .gpt-picker [data-shutdown="announced"]{color:#b45309}
.page-gpt-model .gpt-picker [data-shutdown="retired"]{color:#9f1239}
.page-gpt-model .gpt-picker button:focus-visible,
.page-gpt-model .model-toggle input:focus-visible + .model-toggle-slider{outline:2px solid #56705D;outline-offset:3px}
.page-gpt-model .loading-note[hidden]{display:none}
@media(max-width:600px){
    .page-gpt-model .gpt-function-box{align-items:stretch;flex-direction:column;gap:10px}
    .page-gpt-model .gpt-picker{width:100%}
}

.page-gpt-model .gpt-picker-trigger[aria-disabled="true"]{cursor:wait;opacity:.65}

/* Shared business work-type picker; seven rows maximum, independent of ticket colours/terms. */
.pc-work-type-trigger { display:flex; align-items:center; gap:8px; text-align:left; width:100%; min-width:0; }
.pc-work-type-trigger span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pc-work-type-menu { display:block; overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; box-sizing:border-box; min-width:0; max-width:none; }
.pc-work-type-menu[hidden] { display:none; }
.pc-work-type-menu .work-type-inline-dropdown-item { height:40px; min-height:40px; box-sizing:border-box; flex-wrap:nowrap; }
.pc-work-type-menu .work-type-inline-dropdown-item i { width:18px; flex:0 0 18px; text-align:center; }
.pc-work-type-menu .work-type-inline-dropdown-item span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pc-work-type-menu .work-type-inline-dropdown-item:hover { background:#f8fafc; border-color:#e5e7eb; }
.pc-work-type-menu .work-type-inline-dropdown-item[aria-selected="true"] { background:#E9EEE1; border-color:#CED5BF; color:#56705D; font-weight:700; }
.pc-work-type-menu .work-type-inline-dropdown-item:focus-visible, .pc-work-type-trigger:focus-visible { outline:2px solid #56705D; outline-offset:-2px; }

.pc-work-type-trigger:disabled { opacity:0.65; cursor:not-allowed; }
