:root {
    --sap-blue: #0a6ed1;
    --sap-dark: #1d2d3e;
    --sap-border: #d5dadd;
    --sap-bg: #f7f9fb;
    --sap-card: #fff;
    --sap-text: #1d2d3e;
    --sap-muted: #5f6b7a;
    --sap-green: #188918;
    --sap-red: #bb0000;
    --help-icon-size: 15px;
    --help-icon-color: #0a6ed1;
    --help-icon-hover-color: #0a6ed1;
    --help-popover-width: 360px;
    --help-popover-padding: 14px;
    --help-title-size: .96rem;
    --help-text-size: .88rem;
    --help-gap: 5px;
}

* { box-sizing: border-box; }
html { min-height: 100%; overflow-x: hidden; }
body { margin: 0; min-height: 100vh; overflow-x: hidden; overflow-y: auto; background: var(--sap-bg); color: var(--sap-text); font-family: "72", "Segoe UI", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }

.shell-bar { position: fixed; inset: 0 0 auto 0; min-height: 56px; z-index: 10; display: flex; align-items: center; gap: 18px; padding: 0 22px; background: #354a5f; color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.18); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--sap-blue); }
.shell-spacer { flex: 1; }
.avatar-button { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #eaf4ff; color: var(--sap-blue); font-weight: 700; }
.language-switch { width: auto; min-width: 120px; padding: 6px 9px; border-radius: 8px; border-color: #9ac7f5; font-size: .85rem; }
.session-countdown { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; background: rgba(255,255,255,.1); color: #fff; font-size: .82rem; white-space: nowrap; }
.session-countdown strong { min-width: 42px; font-variant-numeric: tabular-nums; }
.session-countdown-icon { font-size: 1rem; }
.session-countdown.warning { border-color: #ffd666; background: #fff3cd; color: #633c00; }
.session-countdown.critical { border-color: #ffb8b8; background: #fff1f1; color: #8b0000; }

.side-nav { position: fixed; top: 56px; bottom: 0; left: 0; width: 248px; padding: 16px 12px; background: #fff; border-right: 1px solid var(--sap-border); display: flex; flex-direction: column; gap: 12px; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; }
.side-nav[hidden], [hidden] { display: none !important; }
.nav-module { display: grid; gap: 4px; }
.nav-group-toggle { width: 100%; border: 0; background: transparent; cursor: pointer; display: flex; justify-content: space-between; align-items: center; margin: 14px 0 6px; padding: 6px 12px; color: var(--sap-muted); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; text-align: left; border-radius: 9px; }
.nav-group-toggle:hover { background: #f2f7fc; color: var(--sap-blue); }
.nav-chevron { transition: transform .16s ease; font-size: .9rem; }
.nav-module.collapsed .nav-chevron { transform: rotate(-90deg); }
.nav-module-items { display: grid; gap: 0; }
.nav-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; margin-bottom: 4px; border-radius: 10px; color: #314256; font-weight: 600; }
.nav-icon { width: 22px; height: 22px; color: #2d3f55; text-align: center; font-size: 1.08rem; display: inline-grid; place-items: center; flex: 0 0 22px; }
.nav-icon svg { width: 20px; height: 20px; display: block; color: currentColor; }
.nav-item:hover, .nav-item.active { background: #eaf4ff; color: var(--sap-blue); }
.nav-item:hover .nav-icon, .nav-item.active .nav-icon { color: var(--sap-blue); }
.nav-group-label { margin: 18px 12px 8px; color: var(--sap-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nav-footer { margin-top: auto; padding: 12px; color: var(--sap-muted); font-size: .85rem; }
.storage-indicator { display: flex; gap: 8px; align-items: center; color: var(--sap-green); font-weight: 700; }
.storage-indicator span { width: 8px; height: 8px; border-radius: 50%; background: var(--sap-green); }

.main-content { margin-left: 248px; padding: 86px 28px 32px; min-width: 0; overflow-x: hidden; }
body.logged-out .main-content { margin-left: 0; }
.page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.page-header.compact { margin-bottom: 18px; }
.eyebrow { margin: 0 0 6px; color: var(--sap-blue); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(2rem, 3vw, 3.1rem); letter-spacing: -.04em; }
h2 { margin: 0; font-size: 1.1rem; }
.subtitle, .card-header p { margin: 6px 0 0; color: var(--sap-muted); }

.button { border: 1px solid transparent; border-radius: 9px; padding: 9px 13px; cursor: pointer; font-weight: 700; font-size: .92rem; display: inline-flex; align-items: center; justify-content: center; }
.button.primary { background: var(--sap-blue); color: #fff; }
.button.secondary { background: #fff; color: var(--sap-blue); border-color: #9ac7f5; }
.button.success-feedback, .button.primary.success-feedback, .button.secondary.success-feedback { background: var(--sap-green); color: #fff; border-color: var(--sap-green); box-shadow: 0 0 0 3px rgba(24,137,24,.16); }
.button.subtle { background: #edf5ff; color: var(--sap-blue); }
.button.danger { background: #fff1f1; color: var(--sap-red); border-color: #ffc7c7; }
.button.small { padding: 6px 9px; font-size: .8rem; }
.text-link { color: var(--sap-blue); font-weight: 700; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.kpi, .card { background: var(--sap-card); border: 1px solid var(--sap-border); border-radius: 16px; box-shadow: 0 10px 24px rgba(25, 42, 70, .06); }
.kpi { padding: 18px; }
.kpi span, .kpi small { color: var(--sap-muted); display: block; }
.kpi strong { display: block; margin: 7px 0; font-size: 2rem; }
.kpi { position: relative; overflow: hidden; }
.kpi b { position: absolute; right: 20px; top: 20px; width: 8px; height: 8px; border-radius: 50%; }
.card { padding: 18px; margin-bottom: 18px; }
.project-scope-card { display: grid; grid-template-columns: minmax(260px, 420px) 1fr; align-items: end; gap: 16px; padding: 14px 18px; background: #f8fbff; }
.project-scope-card small { color: var(--sap-muted); }
.card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.overview-hero { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 22px; }
.overview-hero h2 { font-size: 2rem; letter-spacing: -.04em; margin: 0; }
.overview-hero p:not(.eyebrow) { color: var(--sap-muted); margin: 8px 0 0; }
.overview-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.overview-registers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.overview-register { display: grid; gap: 7px; color: var(--sap-text); }
.overview-register strong { font-size: 1.5rem; }
.overview-register small { color: var(--sap-blue); font-weight: 700; }
.overview-panels { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; }
.overview-panel.wide { min-width: 0; }
.risk-band { display: grid; gap: 8px; margin: 18px 0; }
.risk-band strong { display: flex; align-items: center; gap: 8px; }
.risk-band strong span { width: 8px; height: 8px; border-radius: 50%; }
.risk-band small { color: var(--sap-muted); justify-self: end; margin-top: -24px; }
.risk-band div, .project-health div { height: 7px; border-radius: 999px; background: #e9eef2; overflow: hidden; }
.risk-band i, .project-health i { display: block; height: 100%; border-radius: inherit; background: var(--sap-blue); }
.project-health { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin: 18px 0; }
.project-health div { grid-column: 1 / -1; }
.empty-state { color: var(--sap-muted); text-align: center; margin: 70px 0; }

.table-wrap { overflow: auto; -webkit-overflow-scrolling: touch; }
.table-filter-label { min-width: 260px; max-width: 340px; color: var(--sap-muted); }
.table-filter { background: #fff; }
.table-header-tools { display: flex; align-items: end; justify-content: flex-end; gap: 14px; flex-wrap: wrap; }
.table-quick-edit-toggle { min-height: 42px; align-content: center; padding: 8px 11px; border: 1px solid var(--sap-border); border-radius: 8px; background: #f7faff; color: var(--sap-text); }
.table-quick-edit-input { min-width: 110px; padding: 7px 8px; border-radius: 6px; font-size: .82rem; }
.table-quick-edit-dirty td { background: #fff9e8; }
.table-column-filter-row th { padding: 6px 8px 9px; background: #f7f9fb; }
.table-column-filter { width: 100%; min-width: 92px; padding: 6px 8px; border: 1px solid #d5dde5; border-radius: 7px; background: #fff; color: var(--sap-text); font-size: .78rem; font-weight: 500; letter-spacing: normal; text-transform: none; }
.table-column-filter:focus { border-color: var(--sap-blue); box-shadow: 0 0 0 2px rgba(0,112,242,.12); outline: none; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 11px 10px; border-bottom: 1px solid #edf0f2; vertical-align: top; }
th { color: var(--sap-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
tr:hover td { background: #fbfdff; }
.status-pill, .risk-score { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 9px; background: #edf5ff; color: var(--sap-blue); font-weight: 800; font-size: .78rem; }
.risk-score { background: #fff4e5; color: #a04f00; }

.form-card { max-width: 1180px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.compact-input-field { align-self: start; }
.compact-input-field input { min-height: 42px; height: 42px; }
.profile-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: 1440px; }
.profile-section { display: block; min-width: 0; padding: 14px; border: 1px solid var(--sap-border); border-radius: var(--pcc-radius-panel); background: var(--pcc-surface-subtle); }
.profile-section.project-plan-profile-settings, .profile-section.jira-profile-integration, .profile-password, .profile-form > .form-actions { grid-column: 1 / -1; }
.profile-section-header { margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--sap-border); }
.profile-section-header h3 { margin: 0 0 6px; color: var(--sap-text); }
.profile-section-header p { margin: 0; color: var(--sap-muted); font-size: .88rem; line-height: 1.45; }
.profile-option-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.profile-option { min-height: 72px; padding: 13px 14px; border: 1px solid var(--sap-border); border-radius: 11px; background: #f8fafc; align-items: flex-start; }
.profile-option > span, .profile-option .check-row > span { display: grid; gap: 3px; }
.profile-option strong { color: var(--sap-text); }
.profile-option small { color: var(--sap-muted); font-weight: 500; line-height: 1.35; }
.profile-session-option { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px,.55fr); gap: 12px; align-items: center; }
.profile-session-option .check-row { align-items: flex-start; }
.profile-timeout-field { margin: 0; }
.profile-password { margin-top: 0; }
.project-plan-profile-grid { display: grid; gap: 12px; }
.project-plan-profile-toggles { grid-template-columns: repeat(2,minmax(0,1fr)); }
.profile-day-selector { margin: 0; padding: 12px 14px; border: 1px solid var(--sap-border); border-radius: 11px; background: #f8fafc; }
.profile-day-selector legend { padding: 0 6px; color: var(--sap-text); font-weight: 900; }
.profile-day-selector p { margin: 0 0 10px; color: var(--sap-muted); font-size: .82rem; }
.profile-day-selector > div { display: flex; flex-wrap: wrap; gap: 8px 18px; }
label { display: grid; gap: 6px; color: var(--sap-muted); font-weight: 700; font-size: .86rem; }
.field-label-caption { display: inline-flex; align-items: baseline; gap: 4px; }
.contextual-help { position: relative; display: inline-flex; align-items: center; flex: 0 0 auto; margin-inline-start: var(--help-gap); vertical-align: middle; }
.contextual-help-trigger { display: inline-grid; place-items: center; width: 30px; min-width: 30px; height: 30px; margin: -7px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--help-icon-color); cursor: pointer; font: inherit; }
.contextual-help-trigger > span { display: grid; place-items: center; width: var(--help-icon-size); height: var(--help-icon-size); border: 1.5px solid currentColor; border-radius: 50%; font-family: Georgia, serif; font-size: 11px; font-weight: 800; font-style: normal; line-height: 1; }
.contextual-help-trigger:hover, .contextual-help-trigger[aria-expanded="true"] { color: var(--help-icon-hover-color); background: #edf5ff; }
.contextual-help-trigger:focus-visible { color: var(--help-icon-hover-color); outline: 2px solid var(--sap-blue); outline-offset: 1px; }
.contextual-help-tooltip { position: absolute; z-index: 80; left: 50%; bottom: calc(100% + 9px); width: max-content; max-width: min(280px, calc(100vw - 24px)); padding: 6px 8px; border-radius: 6px; background: #26384a; color: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.2); font-size: .76rem; font-weight: 500; line-height: 1.35; text-align: left; text-transform: none; letter-spacing: normal; transform: translateX(-50%); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .12s ease; }
.contextual-help:hover .contextual-help-tooltip, .contextual-help:focus-within .contextual-help-tooltip { opacity: 1; visibility: visible; }
.contextual-help-trigger[aria-expanded="true"] + .contextual-help-tooltip { opacity: 0; visibility: hidden; }
.contextual-help-popover { position: fixed; z-index: 100; width: min(var(--help-popover-width), calc(100vw - 16px)); max-height: calc(100vh - 16px); overflow: auto; padding: var(--help-popover-padding); border: 1px solid var(--sap-border); border-radius: 10px; background: var(--sap-card); color: var(--sap-text); box-shadow: 0 10px 30px rgba(32,54,78,.2); }
.contextual-help-popover:focus { outline: none; }
.contextual-help-popover header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 9px; border-bottom: 1px solid #edf0f2; }
.contextual-help-popover h2 { margin: 0; color: var(--sap-text); font-size: var(--help-title-size); line-height: 1.35; }
.contextual-help-popover [data-contextual-help-close] { display: grid; place-items: center; width: 32px; min-width: 32px; height: 32px; margin: -7px -7px 0 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--sap-muted); cursor: pointer; font-size: 1.35rem; line-height: 1; }
.contextual-help-popover [data-contextual-help-close]:hover, .contextual-help-popover [data-contextual-help-close]:focus-visible { background: #edf5ff; color: var(--sap-blue); outline: none; }
.contextual-help-content { padding-top: 10px; font-size: var(--help-text-size); font-weight: 400; line-height: 1.45; }
.contextual-help-content p { margin: 0 0 9px; color: var(--sap-text); }
.contextual-help-content p:last-child { margin-bottom: 0; }
.contextual-help-content ul { margin: 0; padding-left: 20px; }
.contextual-help-content li + li { margin-top: 5px; }
.contextual-help-learn-more { display: inline-block; margin-top: 11px; color: var(--sap-blue); font-weight: 700; }
.contextual-help-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.pcc-module-header-title-row { display: flex; align-items: center; gap: 4px; }
.pcc-module-header-title-row h1 { margin: 0; }
.pcc-module-header-title-row #pageHelp:empty { display: none; }
.table-column-label, .check-row-caption { display: inline-flex; align-items: center; gap: 2px; }
.table-column-label .contextual-help { text-transform: none; letter-spacing: normal; }
.table-column-label .contextual-help-trigger { width: 28px; min-width: 28px; height: 28px; }

.help-discovery { display: grid; gap: 12px; padding: 14px; }
.help-search { display: grid; grid-template-columns: minmax(190px, 240px) minmax(260px, 640px) auto; align-items: center; gap: 10px; }
.help-search label { font-weight: 700; }
.help-search span { color: var(--sap-muted); font-size: 13px; font-weight: 700; }
.help-module-filters, .help-related { display: flex; flex-wrap: wrap; gap: 7px; }
.help-module-filters .is-active { border-color: var(--sap-blue); background: #eaf4ff; color: var(--sap-blue); }
.help-home-section { margin-top: 16px; }
.help-home-section .section-title { margin-bottom: 8px; }
.help-home-section .section-title h2, .help-home-section .section-title p { margin: 0; }
.help-home-section .section-title p { color: var(--sap-muted); font-size: 13px; }
.help-article-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.help-article-card { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-height: 156px; padding: 13px; border: 1px solid var(--sap-border); border-radius: 8px; background: var(--sap-card); }
.help-article-card h3 { margin: 4px 0; font-size: 16px; }
.help-article-card p { margin: 0 0 12px; color: var(--sap-muted); font-size: 13px; line-height: 1.45; }
.help-article-card[hidden] { display: none; }
.help-article-module { color: var(--sap-blue); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.help-breadcrumb { display: flex; gap: 8px; margin: 2px 0 10px; font-size: 13px; }
.help-detail { max-width: 900px; padding: 18px 20px; }
.help-detail header { padding-bottom: 13px; border-bottom: 1px solid var(--sap-border); }
.help-detail header h2 { margin: 5px 0; }
.help-detail section { padding-top: 14px; }
.help-detail section h3 { margin: 0 0 7px; font-size: 15px; }
.help-detail section p, .help-detail section ul, .help-detail section ol { margin: 0; line-height: 1.55; }
.help-step-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.help-step-heading h3 { margin: 0 !important; }
.help-step-heading span { color: var(--sap-muted); font-size: 12px; font-weight: 700; }
.help-steps { display: grid; gap: 8px; padding: 0 !important; list-style: none; counter-reset: help-step; }
.help-steps li { counter-increment: help-step; display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 10px; align-items: start; padding: 10px 12px; border: 1px solid var(--sap-border); border-radius: 6px; background: #f7f9fb; }
.help-steps li::before { content: counter(help-step); display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--sap-blue); color: #fff; font-size: 12px; font-weight: 800; }
.help-steps li p { margin-top: 3px !important; color: var(--sap-muted); font-size: 13px; }
.help-lead { color: var(--sap-muted); }
.help-important { padding: 12px 14px !important; border-left: 3px solid var(--sap-blue); background: #f4f8fc; }
.help-related a { padding: 7px 10px; border: 1px solid var(--sap-border); border-radius: 6px; background: #fff; }
.required-field-marker { color: #bb0000; font-size: 1rem; font-weight: 900; line-height: 1; }
.required-field-marker[hidden] { display: none; }
label.full, .comment-box { grid-column: 1 / -1; }
input, select, textarea { width: 100%; max-width: 100%; border: 1px solid var(--sap-border); border-radius: 9px; padding: 10px 11px; background: #fff; color: var(--sap-text); font: inherit; }
input.readonly-field, input[readonly].readonly-field { background: #f1f3f5; color: #697789; border-color: #d8dde3; cursor: not-allowed; }
textarea { min-height: 92px; resize: vertical; }
.comment-box { display: grid; margin-top: 14px; }
.form-actions { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.bulk-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bulk-update-editor-grid { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto auto auto; align-items: end; gap: 14px; }
.bulk-update-editor-grid .bulk-clear { min-height: 42px; padding-bottom: 9px; }
.bulk-selection-summary { display: flex; align-items: baseline; justify-content: center; gap: 5px; min-width: 92px; min-height: 42px; padding: 9px 12px; border: 1px solid var(--sap-border); border-radius: 9px; background: #f7f9fb; }
.bulk-selection-summary strong { color: var(--sap-blue); font-size: 1.15rem; }
.bulk-update-note { margin: 12px 0 0; color: var(--sap-muted); font-size: .86rem; }
.bulk-inline-confirmation { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; padding: 14px 16px; border: 1px solid #9fc5ed; border-left: 4px solid var(--sap-blue); border-radius: 9px; background: #eef6ff; }
.bulk-inline-confirmation[hidden] { display: none; }
.bulk-inline-confirmation strong, .bulk-inline-confirmation span { display: block; }
.bulk-inline-confirmation span { margin-top: 4px; color: var(--sap-muted); }
.bulk-inline-confirmation .form-actions { flex-wrap: nowrap; margin-top: 0; }
.bulk-check-cell { width: 48px; text-align: center; }
.bulk-check-cell input { width: auto; }
.bulk-current-value { font-weight: 700; color: var(--sap-blue); }
.input-with-unit { display: grid; grid-template-columns: minmax(90px, 1fr) auto; align-items: center; gap: 10px; }
.input-with-unit > span { color: var(--sap-muted); font-weight: 600; }
.setting-inactive { opacity: .65; }

.master-list { display: grid; gap: 8px; margin-bottom: 12px; }
.master-data-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.master-data-card label { margin-bottom: 12px; }
.master-row, .activity-item { border: 1px solid #edf0f2; border-radius: 12px; padding: 10px 12px; background: #fbfdff; }
.master-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.activity-list { display: grid; gap: 10px; }
.activity-item strong, .activity-item span { display: inline-block; margin-right: 10px; color: var(--sap-muted); }
.activity-item p { margin: 8px 0 0; }
.message { margin-bottom: 16px; border: 1px solid #9ac7f5; background: #eaf4ff; color: #124b82; border-radius: 12px; padding: 12px 14px; font-weight: 700; }
.message.danger-message { border-color: #ffb8b8; background: #fff1f1; color: #8b0000; }
.danger-zone { border-color: #ffb8b8; background: #fffafa; }
code { color: #0a6ed1; background: #edf5ff; border-radius: 6px; padding: 2px 5px; }
.check-row { display: flex; align-items: center; gap: 9px; color: var(--sap-text); }
.check-row input[type="checkbox"] { width: auto; }
.permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.login-card { max-width: 460px; margin: 8vh auto; background: #fff; border: 1px solid var(--sap-border); border-radius: 18px; box-shadow: 0 20px 48px rgba(25,42,70,.16); padding: 28px; }
.login-card h2 { font-size: 1.7rem; margin-bottom: 8px; }
.actions-cell { display: flex; gap: 8px; flex-wrap: wrap; }
.table-record-link { appearance: none; border: 0; padding: 0; background: transparent; color: var(--sap-blue); cursor: pointer; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.table-record-link:hover { color: #064f91; }
.table-record-link:focus-visible { outline: 2px solid var(--sap-blue); outline-offset: 3px; border-radius: 2px; }
.table-text-link { color: var(--sap-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.table-text-link:hover { color: #064f91; }
.table-text-link:focus-visible { outline: 2px solid var(--sap-blue); outline-offset: 3px; border-radius: 2px; }
.form-grid.single { grid-template-columns: 1fr; }
.permission-check span { display: grid; gap: 2px; }
.permission-check small { color: var(--sap-muted); font-weight: 500; }
.welcome-mail-panel { border: 1px solid #b9d7fb; background: linear-gradient(135deg, #f7fbff, #edf6ff 55%, #eaf2ff); border-radius: 16px; padding: 16px 18px; display: grid; gap: 14px; box-shadow: inset 4px 0 0 #0a6ed1; }
.welcome-mail-panel h4 { margin: 0; font-size: 1.08rem; color: var(--sap-text); letter-spacing: -.01em; }
.welcome-mail-panel p { margin: 6px 0 0; color: var(--sap-muted); font-weight: 500; line-height: 1.45; }
.welcome-mail-panel > span { justify-self: start; border-radius: 999px; background: #e9eef2; color: #4b5f75; padding: 5px 10px; font-size: .78rem; font-weight: 800; }
.welcome-mail-panel .check-row, .email-send-section .check-row { margin-top: 8px; }
.email-send-section .button, .mail-send-actions .button { margin-top: 14px; }

.group-guide .guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.group-guide article { border: 1px solid #d5dadd; border-radius: 14px; background: #fff; padding: 14px; box-shadow: 0 8px 18px rgba(25,42,70,.05); }
.group-guide article h3 { margin: 0 0 8px; font-size: 1rem; color: #0a3d7a; }
.group-guide article p { margin: 0; color: var(--sap-muted); line-height: 1.45; }

.license-actions .button,
.license-management .button,
.licensing-panel .button,
a[href*="license" i].button,
button[data-license],
.button.license-management {
  border-radius: 10px;
  border: 1px solid #8bbcff;
  background: linear-gradient(180deg, #fff, #edf5ff);
  color: #0a55b8;
  font-weight: 900;
  box-shadow: 0 3px 0 rgba(10,110,209,.14);
}
.license-actions .button.primary,
.license-management .button.primary,
.licensing-panel .button.primary,
.button.license-management.primary {
  background: linear-gradient(180deg, #2f75dc, #0a62cf);
  color: #fff;
  border-color: #0a62cf;
}
.form-collapse { margin-top: 14px; border: 1px solid var(--sap-border); border-radius: 14px; background: #f8fafc; overflow: hidden; }
.form-collapse summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; font-weight: 900; color: var(--sap-text); }
.form-collapse summary::-webkit-details-marker { display: none; }
.form-collapse summary::after { content: "\25BE"; transition: transform .16s ease; color: var(--sap-blue); }
.form-collapse:not([open]) summary::after { transform: rotate(-90deg); }
.form-collapse summary small { color: var(--sap-muted); font-weight: 600; }
.form-collapse .form-grid { padding: 0 15px 15px; }

.risk3-assessment { display: grid; grid-template-columns: minmax(520px, 600px) minmax(0, 1fr); gap: 24px; align-items: start; background: #f1f1f1; padding: 24px; }
.risk3-left { position: relative; display: grid; grid-template-columns: 72px minmax(0, 510px); grid-template-rows: auto auto auto; column-gap: 10px; align-content: start; }
.risk3-axis { grid-column: 1; grid-row: 1; display: grid; grid-template-columns: 28px 1fr; align-items: stretch; margin-top: 10px; border: 0; background: #f1f1f1; }
.risk3-y-title { display: grid; place-items: center; writing-mode: vertical-rl; transform: rotate(180deg); font-family: inherit; font-size: 1.25rem; font-weight: 900; color: #555; white-space: nowrap; }
.risk3-y-labels { display: grid; grid-template-rows: repeat(3, 1fr); align-items: center; justify-items: center; }
.risk3-y-labels span { writing-mode: vertical-rl; transform: rotate(180deg); font-family: inherit; font-size: 1.05rem; color: #111; }
.risk3-matrix { grid-column: 2; position: relative; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); width: 100%; max-width: 510px; aspect-ratio: 1; border: 1px solid rgba(0,0,0,.58); margin-top: 10px; }
.risk3-cell { position: relative; min-height: 0; aspect-ratio: 1; border: 1px solid rgba(0,0,0,.38); display: flex; align-items: center; justify-content: center; padding: 8px; overflow: visible; }
.risk3-cell-markers { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; max-width: 92%; }
.risk3-cell.has-risks .risk3-cell-markers { padding-left: 2px; }
.risk3-cell.green { background: #07ad4b; }
.risk3-cell.yellow { background: #ffd400; }
.risk3-cell.red { background: #f23862; }
.risk3-point { position: absolute; transform: translate(-50%, -50%); display: grid; place-items: center; }
.risk3-point-link { color: inherit; display: inline-grid; place-items: center; }
.risk-symbol { position: relative; width: 42px; height: 42px; box-sizing: border-box; display: grid; place-items: center; color: #fff; font-size: 1.1rem; font-weight: 900; }
.risk-symbol.green-circle { border: 1px solid rgba(0,0,0,.58); border-radius: 50%; background: #07ad4b; }
.risk-symbol.yellow-triangle { color: #1d2d3e; background: rgba(0,0,0,.58); clip-path: polygon(50% 0, 100% 100%, 0 100%); padding-top: 10px; }
.risk-symbol.yellow-triangle::before { content: ""; position: absolute; inset: 2px; z-index: 0; background: #ffd400; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.risk-symbol.yellow-triangle > span { position: relative; z-index: 1; }
.risk-symbol.red-milestone { width: 42px; height: 42px; border: 1px solid rgba(0,0,0,.58); background: #f23862; transform: rotate(45deg); }
.risk-symbol.red-milestone > span { transform: rotate(-45deg); }
.risk3-x-labels { grid-column: 2; display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; font-family: inherit; font-size: 1.05rem; color: #111; padding-top: 6px; }
.risk3-x-title { grid-column: 2; text-align: center; font-family: inherit; font-size: 1.25rem; font-weight: 900; color: #555; margin-top: 8px; }
.risk3-details { display: grid; gap: 8px; align-content: start; }
.risk-detail-row { display: grid; grid-template-columns: 52px 1fr 26px; min-height: 68px; background: #fff; border: 1px solid rgba(0,0,0,.18); }
.risk-detail-number { background: #fff; display: grid; place-items: center; font-weight: 900; font-size: 1.15rem; }
.risk-detail-number .risk-symbol { transform: scale(.82); }
.risk-detail-number .risk-symbol.red-milestone { transform: rotate(45deg) scale(.82); }
.risk-detail-body { padding: 7px 9px; }
.risk-detail-body h3 { margin: 0 0 5px; font-size: .98rem; }
.risk-detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; font-size: .86rem; line-height: 1.32; }
.risk-detail-columns p { margin: 0; }
.jira-link { background: #dfe5e2; writing-mode: vertical-rl; transform: rotate(180deg); display: grid; place-items: center; padding: 4px 0; text-align: center; font-size: .78rem; color: #222; font-weight: 700; text-decoration: none; white-space: nowrap; }
.jira-link.inactive { color: #777; }
.risk3-legend { display: flex; gap: 20px; align-items: center; padding: 8px 20px 0; color: #777; font-size: .82rem; }
.risk3-legend .dot { width: 11px; height: 11px; border-radius: 50%; display: inline-block; margin-right: -14px; }
.risk3-legend .dot.green { background: #07ad4b; }
.risk3-legend .triangle { width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 12px solid #ffd400; display: inline-block; margin-right: -14px; }
.risk3-legend .diamond { width: 10px; height: 10px; transform: rotate(45deg); background: #f23862; display: inline-block; margin-right: -14px; }

.report-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.management-report { display: grid; grid-template-columns: 1.35fr 1.35fr .9fr; gap: 14px; background: #fff; padding: 18px; }
.management-report.modular-report { grid-template-columns: 1fr 1fr .72fr; align-items: stretch; }
.report-title { grid-column: 1 / 3; grid-row: 1; background: #eee; }
.report-title span, .report-status span { display: block; background: #2f86d2; color: #fff; padding: 3px 7px; font-size: .85rem; }
.report-title strong { display: block; padding: 8px; font-size: 1.35rem; }
.report-status-panel { grid-column: 3; grid-row: 1; display: grid; grid-template-rows: auto auto; align-content: start; gap: 10px; }
.report-date { align-self: stretch; justify-self: stretch; background: #eee; padding: 12px; text-align: center; font-weight: 900; font-size: 1.25rem; }
.report-status { background: #04a64b; color: #fff; text-align: center; }
.report-status.yellow { background: #f0ab00; color: #1d2d3e; }
.report-status.red { background: #bb0000; }
.report-status strong { display: block; padding: 8px; font-size: 1.4rem; }
.report-status.status-large { min-height: 54px; }
.report-status.status-large strong { padding: 10px 8px; font-size: 1.35rem; }
.summary-box { grid-column: 1; grid-row: 2; }
.planned-box { grid-column: 2; grid-row: 2; }
.decisions-box { grid-column: 3; grid-row: 2; }
.issues-box { grid-column: 1; grid-row: 3; }
.risks-box { grid-column: 2; grid-row: 3; }
.changes-box { grid-column: 3; grid-row: 3; }
.report-box, .report-milestones { background: #efefef; min-height: 260px; }
.report-box h3, .report-milestones h3 { margin: 0; padding: 4px 8px; color: #fff; font-size: 1rem; font-weight: 700; }
.report-box.dark h3 { background: #20282b; }
.report-box.green h3 { background: #05a64b; }
.report-box.orange h3, .report-milestones h3 { background: #f39c12; }
.report-box ul { margin: 12px 18px; padding-left: 16px; }
.report-box li { margin: 0 0 9px; font-weight: 700; }
.report-milestones { grid-column: 1 / 4; grid-row: 4; min-height: 180px; }
.report-milestones th { background: #f39c12; color: #fff; }
.report-milestones td, .report-milestones th { border-color: #fff; }
.report-box li { margin-bottom: 10px; font-weight: 700; }
.report-box p { padding: 12px 18px; margin: 0; }
.report-milestones table th { background: #f39c12; color: #fff; border-right: 1px solid #fff; }
.report-milestones table td { height: 42px; border-color: #fff; }
.executive-report { grid-template-columns: 1.25fr 1.05fr 1.05fr 1.02fr; grid-auto-rows: auto; gap: 10px; background: #fff; padding: 14px; border: 1px solid #d7dfe7; overflow-x: auto; min-width: 1180px; }
.exec-project { grid-column: 1 / 3; background: #f1f1f1; min-height: 48px; }
.exec-date { grid-column: 3; background: #f1f1f1; min-height: 48px; text-align: center; }
.exec-status { grid-column: 4; min-height: 48px; text-align: center; }
.exec-project span, .exec-date span, .exec-status span { display: block; background: #005aaa; color: #fff; padding: 3px 8px; font-weight: 800; font-size: .85rem; }
.exec-project strong, .exec-date strong { display: block; padding: 11px 10px; font-size: 1.05rem; }
.exec-status strong { display: block; padding: 11px 10px; color: #fff; font-size: 1.25rem; text-transform: uppercase; }
.exec-status strong.yellow { color: #fff; }
.exec-summary { grid-column: 1; grid-row: 2; }
.exec-planned { grid-column: 2; grid-row: 2; }
.exec-decisions { grid-column: 3; grid-row: 2; }
.exec-health { grid-column: 4; grid-row: 2; }
.exec-issues { grid-column: 1; grid-row: 3; }
.exec-risks { grid-column: 2; grid-row: 3; }
.exec-changes { grid-column: 3; grid-row: 3; }
.exec-milestones { grid-column: 4; grid-row: 3; }
.exec-overview { grid-column: 1 / 5; grid-row: 4; }
.exec-legend { grid-column: 1 / 3; grid-row: 5; display: flex; align-items: center; gap: 9px; background: #f2f4f6; padding: 8px 10px; font-size: .85rem; color: #24364a; }
.exec-jira-link { grid-column: 4; grid-row: 5; border: 1px dashed #a7b2bd; border-radius: 8px; padding: 8px 12px; display: flex; align-items: center; gap: 10px; justify-content: center; color: #005aaa; font-weight: 800; }
.executive-report .report-box, .executive-report .report-table-box { background: #f0f0f0; min-height: 205px; }
.executive-report .report-box h3, .report-table-box h3 { margin: 0; padding: 4px 8px; color: #fff; font-size: .92rem; font-weight: 800; }
.report-table-box.blue h3 { background: #005aaa; }
.report-table-box.orange h3 { background: #f39c12; }
.executive-report .report-box ul { margin: 10px 18px; padding-left: 16px; }
.executive-report .report-box li { margin-bottom: 8px; font-weight: 500; line-height: 1.35; }
.report-jira-filter { margin: 24px 12px 10px; border: 1px dashed #9aa9b7; border-radius: 8px; padding: 7px 10px; display: flex; gap: 10px; align-items: center; font-size: .82rem; }
.jira-chain-icon { width: 28px; height: 28px; border-radius: 50%; background: #0069c9; color: #fff; display: inline-grid; place-items: center; flex: 0 0 28px; }
.compact-table table { font-size: .84rem; }
.compact-table th, .compact-table td { padding: 5px 8px; border: 1px solid #d9dfe6; }
.compact-table th { background: #e9e9e9; color: #111; font-weight: 900; }
.status-dot { width: 13px; height: 13px; border-radius: 50%; display: inline-block; vertical-align: middle; box-shadow: 0 0 0 2px rgba(0,0,0,.04); }
.status-dot.green { background: #12a85b; }
.status-dot.yellow { background: #ffd000; }
.status-dot.red { background: #e00000; }
.status-dot.grey { background: #a9a9a9; }
.status-dot.not-planned { position: relative; background: transparent; border: 2px solid #687787; box-shadow: none; }
.status-dot.not-planned::after { content: ""; position: absolute; top: 4px; left: -2px; width: 13px; border-top: 2px solid #687787; transform: rotate(-45deg); }
.report-progress { display: inline-flex; align-items: center; gap: 8px; min-width: 90px; }
.report-progress::before { content: ""; display: none; }
.report-progress i { display: inline-block; height: 9px; min-width: 5px; background: #12a85b; }
.report-progress i.yellow { background: #ffd000; }
.report-progress i.red { background: #e00000; }
.report-progress i.grey { background: #a9a9a9; }
.report-progress b { font-size: .78rem; font-weight: 800; color: #21354a; }
.workpackage-health-card { margin-top: 14px; }
.workpackage-health-table td:last-child, .workpackage-health-table th:last-child { text-align: center; width: 70px; }
.workpackage-report-suite { margin-top: 18px; padding: 0; overflow: hidden; border-color: #cad8e6; }
.workpackage-report-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding: 24px 26px; color: #fff; background: linear-gradient(120deg,#102b46 0%,#07579d 68%,#0878c9 100%); }
.workpackage-report-heading h2 { margin: 3px 0 6px; color: #fff; font-size: 1.55rem; }
.workpackage-report-heading p { margin: 0; max-width: 720px; color: #d8e9f8; }
.report-eyebrow { color: #8fd0ff; font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.workpackage-report-date { flex: 0 0 auto; padding: 7px 11px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: #fff; font-size: .8rem; font-weight: 800; }
.workpackage-report-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: #dbe4ed; border-bottom: 1px solid #dbe4ed; }
.workpackage-report-kpis article { display: grid; gap: 4px; align-content: center; min-height: 118px; padding: 18px 22px; background: #fff; }
.workpackage-report-kpis article > span { color: var(--sap-muted); font-size: .77rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.workpackage-report-kpis article > strong { color: #12314e; font-size: 1.8rem; line-height: 1; }
.workpackage-report-kpis article > small { color: var(--sap-muted); }
.workpackage-report-kpis article.positive { box-shadow: inset 0 3px #12a85b; }
.workpackage-report-kpis article.attention { box-shadow: inset 0 3px #f0ab00; }
.workpackage-report-panels { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.7fr); gap: 18px; padding: 22px; background: #f3f6f9; }
.workpackage-report-panel { min-width: 0; padding: 0; overflow: hidden; border: 1px solid #d9e2ea; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(20,48,74,.06); }
.report-panel-title { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 17px; border-bottom: 1px solid #e1e8ee; }
.report-panel-title span { color: #51708c; font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.report-panel-title h3 { margin: 2px 0 0; color: #142f49; font-size: 1.05rem; }
.report-panel-title b { padding: 5px 9px; border-radius: 999px; background: #e9f3fc; color: #07579d; font-size: .75rem; }
.workpackage-report-panel .table-wrap { max-height: 500px; }
.workpackage-report-panel table { margin: 0; }
.workpackage-report-panel th { position: sticky; top: 0; z-index: 1; background: #eef3f7; }
.record-audit-card { margin-top: 14px; background: #fbfdff; border-color: #c9d9ea; }
.audit-controls { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; }
.audit-table-wrap { max-height: 280px; overflow: auto; }
.audit-table th { background: #edf3f9; color: #1d2d3e; }
.audit-table td { vertical-align: top; font-size: .88rem; }
.audit-table td:nth-child(1) { white-space: nowrap; color: var(--sap-muted); width: 170px; }
.audit-table td:nth-child(2) { white-space: nowrap; width: 140px; }
.audit-table td:nth-child(3) { white-space: nowrap; width: 150px; font-weight: 800; }

.mywork-filter-card { background: #f8fbff; }
.mywork-kpis .kpi { min-height: 130px; }
.mywork-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mywork-box { min-width: 0; }

.gantt-card { overflow-x: auto; }
.gantt-edit-control { display: inline-flex; align-items: center; gap: 10px; padding: 5px 5px 5px 10px; border: 1px solid #c9d6e2; border-radius: 7px; background: #f7f9fb; box-shadow: 0 1px 2px rgba(18,45,70,.06); }
.gantt-edit-state { display: inline-flex; align-items: center; gap: 6px; color: #526a80; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.gantt-edit-state i { width: 7px; height: 7px; border-radius: 50%; background: #8b9baa; }
.gantt-edit-control.active { border-color: #8ab8e8; background: #edf6ff; box-shadow: inset 3px 0 var(--sap-blue); }
.gantt-edit-control.active .gantt-edit-state { color: #164f82; }
.gantt-edit-control.active .gantt-edit-state i { background: #188918; box-shadow: 0 0 0 3px rgba(24,137,24,.12); }
.gantt-edit-control .button { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; white-space: nowrap; }
.gantt-wrap { min-width: calc(270px + var(--timeline-width,760px)); display: grid; grid-template-columns: 270px minmax(var(--timeline-width,760px), 1fr); border-bottom: 1px solid #1d2d3e; }
.gantt-wrap.show-sap-phase { grid-template-columns: 270px 170px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-overall-status { grid-template-columns: 270px 150px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-sap-phase.show-overall-status { grid-template-columns: 270px 170px 150px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-jira-link { grid-template-columns: 270px 140px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-sap-phase.show-jira-link { grid-template-columns: 270px 170px 140px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-overall-status.show-jira-link { grid-template-columns: 270px 150px 140px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-sap-phase.show-overall-status.show-jira-link { grid-template-columns: 270px 170px 150px 140px minmax(var(--timeline-width,760px), 1fr); }
.gantt-label-head { grid-column: 1; grid-row: 1 / span var(--scale-count); padding: 10px 12px; border-right: 1px solid #1d2d3e; border-bottom: 1px solid #1d2d3e; background: #f5f8fb; font-size: 1rem; font-weight: 900; }
.gantt-sap-head { grid-column: 2; grid-row: 1 / span var(--scale-count); padding: 10px; border-right: 1px solid #d3dbe4; border-bottom: 1px solid #1d2d3e; background: #f5f8fb; color: var(--sap-muted); font-size: .86rem; font-weight: 900; }
.gantt-status-head { grid-column: 2; grid-row: 1 / span var(--scale-count); padding: 10px; border-right: 1px solid #d3dbe4; border-bottom: 1px solid #1d2d3e; background: #f5f8fb; color: var(--sap-muted); font-size: .86rem; font-weight: 900; }
.gantt-wrap.show-sap-phase .gantt-status-head { grid-column: 3; }
.gantt-jira-head { grid-column: 2; grid-row: 1 / span var(--scale-count); padding: 10px; border-right: 1px solid #d3dbe4; border-bottom: 1px solid #1d2d3e; background: #f5f8fb; color: var(--sap-muted); font-size: .86rem; font-weight: 900; }
.gantt-wrap.show-sap-phase .gantt-jira-head,.gantt-wrap.show-overall-status .gantt-jira-head { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-overall-status .gantt-jira-head { grid-column: 4; }
.gantt-scale { grid-column: 2; display: grid; grid-template-columns: repeat(var(--unit-count),minmax(0,1fr)); border-bottom: 1px solid #1d2d3e; background: #f5f8fb; }
.gantt-wrap.show-sap-phase .gantt-scale { grid-column: 3; }
.gantt-wrap.show-overall-status .gantt-scale { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-overall-status .gantt-scale { grid-column: 4; }
.gantt-wrap.show-jira-link .gantt-scale { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-jira-link .gantt-scale,.gantt-wrap.show-overall-status.show-jira-link .gantt-scale { grid-column: 4; }
.gantt-wrap.show-sap-phase.show-overall-status.show-jira-link .gantt-scale { grid-column: 5; }
.gantt-scale div { min-width: 0; padding: 7px 8px; border-left: 1px solid #1d2d3e; overflow: hidden; font-weight: 900; text-align: center; }
.gantt-scale div span,.gantt-scale div small { display: block; white-space: nowrap; }
.gantt-scale div small { margin-top: 3px; color: var(--sap-blue); font-size: .68rem; }
.gantt-body { grid-column: 1 / -1; position: relative; display: grid; grid-template-columns: 270px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-sap-phase .gantt-body { grid-template-columns: 270px 170px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-overall-status .gantt-body { grid-template-columns: 270px 150px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-sap-phase.show-overall-status .gantt-body { grid-template-columns: 270px 170px 150px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-jira-link .gantt-body { grid-template-columns: 270px 140px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-sap-phase.show-jira-link .gantt-body { grid-template-columns: 270px 170px 140px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-overall-status.show-jira-link .gantt-body { grid-template-columns: 270px 150px 140px minmax(var(--timeline-width,760px), 1fr); }
.gantt-wrap.show-sap-phase.show-overall-status.show-jira-link .gantt-body { grid-template-columns: 270px 170px 150px 140px minmax(var(--timeline-width,760px), 1fr); }
.gantt-row { display: contents; min-height: 34px; }
.gantt-row-label { grid-column: 1; min-height: 34px; padding: 7px 12px 7px 0; border-right: 1px solid #1d2d3e; font-size: 1rem; }
.gantt-row-label[data-gantt-item] { cursor: pointer; position: relative; z-index: 7; transition: background .15s ease, box-shadow .15s ease; }
.gantt-row-label.dependency-selected { background: #d8eaff; box-shadow: inset 4px 0 var(--sap-blue); }
.gantt-row-label.dependency-related { background: #edf6ff; }
.gantt-row-label.phase { font-weight: 900; }
.gantt-row-label.workpackage { padding-left: 24px; color: #26384d; }
.gantt-row-label.sap-activate { padding-left: 24px; border-top: 1px solid #d9e0e7; background: transparent; color: #26384d; font-size: inherit; font-weight: 400; }
.gantt-collapse-toggle { width: 22px; height: 22px; margin: -2px 4px -2px -22px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: #315b83; font-size: 1rem; font-weight: 900; line-height: 22px; cursor: pointer; vertical-align: middle; }
.gantt-collapse-toggle:hover,.gantt-collapse-toggle:focus-visible { background: #dcecff; outline: none; }
.gantt-row-label.subtask { padding-left: 46px; color: #4f5f70; }
.gantt-row-label.milestone { padding-left: 46px; color: #40566b; }
.gantt-row-label.program-activity,.gantt-row-label.program-milestone { padding: 6px 12px 6px 24px; color: #24553d; background: #f1faf5; font-size: .92rem; font-weight: 800; }
.gantt-row-label.program-activity > span:last-of-type,.gantt-row-label.program-milestone > span:last-of-type { min-width: 0; }
.gantt-program-section-label { grid-column: 1; min-height: 42px; padding: 11px 12px; border-top: 2px solid #176f48; border-right: 1px solid #1d2d3e; background: #e3f3e9; color: #174f35; }
.gantt-program-section-label strong { margin-left: 7px; font-size: .82rem; text-transform: uppercase; letter-spacing: .035em; }
.gantt-program-section-cell { min-height: 42px; border-top: 2px solid #176f48; border-right: 1px solid #d3dbe4; background: #e3f3e9; }
.gantt-program-jira-cell { grid-column: 2; }
.gantt-wrap.show-sap-phase .gantt-program-jira-cell,.gantt-wrap.show-overall-status .gantt-program-jira-cell { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-overall-status .gantt-program-jira-cell { grid-column: 4; }
.gantt-program-section-line { grid-column: 2; position: relative; min-height: 42px; padding: 12px; border-top: 2px solid #176f48; border-right: 1px solid #1d2d3e; background: linear-gradient(90deg,#e3f3e9,rgba(227,243,233,.35)); color: #47735b; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.gantt-wrap.show-sap-phase .gantt-program-section-line { grid-column: 3; }
.gantt-wrap.show-overall-status .gantt-program-section-line { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-overall-status .gantt-program-section-line { grid-column: 4; }
.gantt-wrap.show-jira-link .gantt-program-section-line { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-jira-link .gantt-program-section-line,.gantt-wrap.show-overall-status.show-jira-link .gantt-program-section-line { grid-column: 4; }
.gantt-wrap.show-sap-phase.show-overall-status.show-jira-link .gantt-program-section-line { grid-column: 5; }
.gantt-program-section-line .program-line-milestone { top: 15px; }
.project-plan-filter-card { padding: 14px; background: #f8fbff; }
.project-plan-filter-grid { display: grid; grid-template-columns: repeat(8, minmax(130px, 1fr)); gap: 10px; align-items: end; }
.project-plan-filter-grid > label { gap: 5px; font-size: .78rem; }
.project-plan-filter-grid > label:has(input[type="date"]) { justify-self: stretch; width: 100%; }
.project-plan-filter-grid select,.project-plan-filter-grid input { min-height: 36px; padding: 7px 9px; }
.project-plan-status-filter { position: relative; display: grid; align-content: end; min-width: 165px; }
.project-plan-status-filter summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; box-sizing: border-box; min-height: 36px; padding: 7px 9px; border: 1px solid var(--sap-border); border-radius: 6px; background: #fff; color: var(--pcc-text); cursor: pointer; font-size: .82rem; font-weight: 500; list-style: none; }
.project-plan-status-filter summary::-webkit-details-marker { display: none; }
.project-plan-status-filter summary::after { content: "▾"; margin-left: 2px; color: var(--pcc-muted); font-size: 10px; line-height: 1; }
.project-plan-status-filter summary span { display: inline-flex; align-items: center; min-height: 20px; margin-left: auto; color: var(--pcc-text); font-size: inherit; font-weight: inherit; }
.project-plan-filter-popover { position: absolute; top: calc(100% + 4px); right: 0; z-index: 20; min-width: max(100%,240px); padding: 5px; border: 1px solid var(--sap-border); border-radius: 4px; background: #fff; box-shadow: 0 8px 22px rgba(32,54,78,.16); }
.project-plan-status-options { display: grid; grid-auto-rows: 28px; gap: 0; align-content: start; }
.project-plan-status-chips { grid-template-columns: repeat(2,minmax(125px,1fr)); }
.status-filter-chip,.project-plan-status-options > .check-row { display: flex; align-items: center; align-self: stretch; gap: 6px; min-height: 28px; height: 28px; margin: 0; padding: 3px 6px; border: 0; border-radius: 3px; background: #fff; color: var(--pcc-text); cursor: pointer; font-size: 12px; font-weight: 500; line-height: 1.2; }
.status-filter-chip:hover,.project-plan-status-options > .check-row:hover { background: var(--pcc-primary-soft); }
.status-filter-chip:has(input:checked),.project-plan-status-options > .check-row:has(input:checked) { background: #edf5fd; color: var(--pcc-text); }
.status-filter-chip input,.project-plan-status-options > .check-row input { flex: 0 0 auto; width: 15px; height: 15px; margin: 0; accent-color: var(--pcc-primary); }
.status-filter-chip .workstream-dot,.status-filter-chip .master-status-symbol { flex: 0 0 auto; }
.project-plan-status-actions { display: flex; gap: 6px; margin-top: 7px; }
.project-plan-filter-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 11px; padding-top: 10px; border-top: 1px solid #dce5ee; }
.project-plan-column-toggles { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.project-plan-hierarchy-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gantt-row-label[data-open-work-package]:hover { color: var(--sap-blue); background: #f2f8ff; text-decoration: underline; text-underline-offset: 2px; }
.gantt-bar[data-open-work-package] { cursor: pointer; }
.gantt-bar.gantt-bar-editable { cursor: grab; touch-action: none; user-select: none; outline: 1px solid rgba(255,255,255,.7); outline-offset: -2px; }
.gantt-wrap.edit-dates .gantt-bar:not(.gantt-bar-editable) { cursor: default; }
.gantt-bar.gantt-bar-editable.is-interacting { cursor: grabbing; z-index: 9; box-shadow: 0 2px 8px rgba(18,45,70,.35); }
.gantt-resize-handle { position: absolute; top: -7px; bottom: -7px; width: 18px; z-index: 8; cursor: ew-resize; touch-action: none; }
.gantt-resize-handle::after { content: ""; position: absolute; top: 7px; bottom: 7px; width: 4px; border-radius: 2px; background: rgba(255,255,255,.95); box-shadow: 0 0 0 1px rgba(18,45,70,.55); }
.gantt-resize-handle.start { left: -7px; }
.gantt-resize-handle.start::after { left: 7px; }
.gantt-resize-handle.end { right: -7px; }
.gantt-resize-handle.end::after { right: 7px; }
.gantt-original-position { opacity: .24; background: repeating-linear-gradient(135deg,#526a80 0 4px,#e4eaf0 4px 8px) !important; pointer-events: none; z-index: 4 !important; }
.gantt-drag-guide { position: absolute; display: block; margin: 0; padding: 0; pointer-events: none; z-index: 7; }
.gantt-drag-guide.horizontal { height: 1px; border-top: 1px solid rgba(10,110,209,.28); }
.gantt-drag-guide.vertical { top: 0; bottom: 0; width: 1px; border-left: 1px dashed rgba(10,110,209,.42); }
.gantt-drag-guide.vertical.end { border-left-style: solid; border-left-color: rgba(10,110,209,.32); }
.gantt-drag-preview { position: absolute; top: -52px; min-width: 166px; padding: 7px 9px; border-radius: 5px; background: #17324d; color: #fff; box-shadow: 0 4px 14px rgba(18,45,70,.3); font-size: .72rem; line-height: 1.25; pointer-events: none; z-index: 20 !important; }
.gantt-drag-preview strong,.gantt-drag-preview span,.gantt-drag-preview small { display: block; white-space: nowrap; }
.gantt-drag-preview small { opacity: .78; }
.gantt-save-notice { position: fixed; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 12px; max-width: min(520px,calc(100vw - 32px)); padding: 12px 14px; border-radius: 7px; background: #17324d; color: #fff; box-shadow: 0 8px 28px rgba(18,45,70,.3); z-index: 1000; }
.gantt-save-notice.danger { background: #8d1f28; }
@media (pointer: coarse) {
  .gantt-resize-handle { width: 36px; }
  .gantt-resize-handle.start { left: -16px; }
  .gantt-resize-handle.start::after { left: 16px; }
  .gantt-resize-handle.end { right: -16px; }
  .gantt-resize-handle.end::after { right: 16px; }
}
@media (max-width: 760px) {
  .gantt-edit-control { align-self: flex-start; }
}
.gantt-row-sap { grid-column: 2; min-height: 34px; padding: 7px 10px; border-right: 1px solid #d3dbe4; color: var(--sap-muted); font-size: .9rem; background: rgba(255,255,255,.58); }
.gantt-row-status { grid-column: 2; min-height: 34px; padding: 7px 10px; border-right: 1px solid #d3dbe4; color: var(--sap-muted); font-size: .85rem; background: rgba(255,255,255,.58); display: flex; align-items: center; gap: 7px; }
.gantt-wrap.show-sap-phase .gantt-row-status { grid-column: 3; }
.gantt-row-jira { grid-column: 2; min-height: 34px; padding: 7px 10px; border-right: 1px solid #d3dbe4; background: rgba(255,255,255,.58); font-size: .78rem; font-weight: 800; }
.gantt-row-jira a { color: var(--sap-blue); text-decoration: none; }
.gantt-row-jira a:hover { text-decoration: underline; }
.gantt-responsible-head { padding: 10px; border-right: 1px solid #d3dbe4; border-bottom: 1px solid #1d2d3e; background: #f5f8fb; color: var(--sap-muted); font-size: .86rem; font-weight: 900; }
.gantt-row-responsible { min-height: 34px; padding: 7px 10px; border-right: 1px solid #d3dbe4; background: rgba(255,255,255,.58); color: var(--sap-muted); font-size: .85rem; }
.project-plan-screen-actions { display: none; justify-content: flex-end; padding: 8px; }
.project-plan-full-screen { position: fixed; inset: 0; z-index: 1500; margin: 0; padding: 12px; border-radius: 0; overflow: auto; background: var(--sap-background, #fff); }
body:has(.project-plan-full-screen) { overflow: hidden; }
.project-plan-full-screen .project-plan-screen-actions { display: flex; position: sticky; top: 0; left: 0; z-index: 10; background: #fff; }
#projectPlanExportFrame.project-plan-full-screen .project-plan-desktop-timeline { display: block; overflow: auto; }
#projectPlanExportFrame.project-plan-full-screen .project-plan-mobile-view { display: none; }
.gantt-wrap.show-sap-phase .gantt-row-jira,.gantt-wrap.show-overall-status .gantt-row-jira { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-overall-status .gantt-row-jira { grid-column: 4; }
.project-plan-transfer { margin-top: 14px; margin-bottom: 14px; }
.gantt-line { grid-column: 2; position: relative; min-height: 34px; border-right: 1px solid #1d2d3e; background: rgba(255,255,255,.44); }
.gantt-line.milestone-line { min-height: 38px; background: rgba(246,249,252,.72); }
.gantt-line.milestone-line::before { content: ""; position: absolute; left: 0; right: 0; top: 16px; border-top: 1px dotted rgba(79,103,126,.28); pointer-events: none; }
.gantt-wrap.show-sap-phase .gantt-line { grid-column: 3; }
.gantt-wrap.show-overall-status .gantt-line { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-overall-status .gantt-line { grid-column: 4; }
.gantt-wrap.show-jira-link .gantt-line { grid-column: 3; }
.gantt-wrap.show-sap-phase.show-jira-link .gantt-line,.gantt-wrap.show-overall-status.show-jira-link .gantt-line { grid-column: 4; }
.gantt-wrap.show-sap-phase.show-overall-status.show-jira-link .gantt-line { grid-column: 5; }
.gantt-line::after { content: ""; position: absolute; top: 0; bottom: 0; left: var(--today); border-left: 2px dashed #bb0000; z-index: 2; pointer-events: none; }
.gantt-bar { position: absolute; top: 10px; height: 12px; min-width: 8px; color: #111; }
.gantt-forecast-extension { position: absolute; top: 10px; height: 12px; min-width: 4px; border: 1px solid rgba(187,0,0,.65); border-left: 0; border-radius: 0 3px 3px 0; background: repeating-linear-gradient(135deg,rgba(203,20,35,.85) 0 5px,rgba(255,111,111,.48) 5px 10px); box-shadow: 0 1px 2px rgba(112,0,0,.18); }
.gantt-bar.phase-bar { height: 14px; top: 9px; }
.gantt-bar.sap-activate-bar { top: 8px; height: 16px; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.3),0 1px 3px rgba(31,66,99,.24); }
.gantt-bar.sap-activate-bar,.gantt-bar.sap-activate-bar em { color: #fff; }
.gantt-bar.program-activity-bar { top: 9px; height: 14px; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); cursor: pointer; }
.gantt-bar em { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: calc(100% - 12px); max-width: calc(100% - 12px); overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; font-style: normal; font-weight: 900; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.75); z-index: 4; pointer-events: none; }
.gantt-bar em.compact { width: calc(100% - 6px); max-width: calc(100% - 6px); font-size: .68rem; letter-spacing: -.015em; }
.gantt-bar-text-outside { position: absolute; top: 7px; max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #25384c; font-size: .72rem; font-weight: 800; pointer-events: none; }
.gantt-bar-text-outside.left { text-align: right; }
.gantt-bar-text-outside.right { text-align: left; }
.gantt-bar-text-outside.above, .gantt-bar-text-outside.below { transform: translateX(-50%); text-align: center; }
.gantt-bar-text-outside.above { top: -8px; }
.gantt-bar-text-outside.below { top: 24px; }
.gantt-bar.additional-bar { border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.14),0 1px 2px rgba(0,0,0,.12); }
.gantt-progress { position: absolute; top: 25px; height: 5px; min-width: 2px; border-radius: 99px; }
.gantt-milestone { position: absolute; top: 11px; width: 9px; height: 9px; transform: translateX(-50%) rotate(45deg); background: #f23862; }
.gantt-milestone.program-milestone { width: 9px; height: 9px; background: #c91e48; box-shadow: 0 0 0 1px #fff,0 0 0 2px #c91e48; cursor: pointer; }
.gantt-milestone.additional-milestone { width: 9px; height: 9px; box-shadow: 0 0 0 1px #fff,0 0 0 2px rgba(31,52,73,.28); cursor: pointer; }
.gantt-milestone-text.additional-milestone-text { top: 4px; margin-left: 9px; transform: none; max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
.gantt-milestone-text { position: absolute; top: 23px; transform: translateX(-50%); white-space: nowrap; font-size: .72rem; font-weight: 800; }
.gantt-milestone-text.left, .gantt-milestone-text.right { top: 7px; max-width: 190px; overflow: hidden; text-overflow: ellipsis; transform: none; font-size: .72rem; }
.gantt-milestone-text.left { text-align: right; }
.gantt-milestone-text.right { text-align: left; }
.gantt-milestone-text.above { top: -8px; }
.gantt-milestone-text.below { top: 24px; }
.gantt-workpackage-timeframe { position: absolute; display: block; max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #344b61; font-size: .68rem; font-weight: 800; line-height: 1; pointer-events: none; }
.gantt-shades { position: absolute; inset: 0 0 0 var(--timeline-offset,270px); pointer-events: none; z-index: 0; }
.gantt-shade { position: absolute; top: 0; bottom: 0; }
.gantt-shade-footer-spacer { min-height: calc(var(--shade-lanes, 1) * 42px + 10px); padding: 8px 10px; border-top: 1px solid #d8e1ea; color: #526a80; font-size: .72rem; font-weight: 800; background: #f8fafc; }
.gantt-shade-footer { position: relative; min-height: calc(var(--shade-lanes, 1) * 42px + 10px); border-top: 1px solid #d8e1ea; background: #f8fafc; z-index: 4; }
.gantt-shade-bracket { position: absolute; height: 26px; border: 0 solid #526a80; border-width: 0 1px 2px; color: #314b63; text-align: center; min-width: 2px; }
.gantt-shade-bracket.without-bracket { border-color: transparent; }
.gantt-shade-bracket span { display: inline-block; max-width: calc(100% - 8px); max-height: 2.2em; padding: 1px 5px; transform: translateY(17px); overflow: hidden; white-space: normal; line-height: 1.05; overflow-wrap: anywhere; border-radius: 3px; background: #f8fafc; font-size: .7rem; font-weight: 800; }
.plan-name-row { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; align-items: start; }
.form-grid.shared-plan-item-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.project-plan-transfer-result { margin-top: 16px; }
.project-plan-transfer-result:empty { display: none; }
@media (max-width: 900px) {
  .form-grid.shared-plan-item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .plan-name-row, .form-grid.shared-plan-item-grid { grid-template-columns: minmax(0, 1fr); }
}
.gantt-calendar-week-scale { position: relative; min-height: 27px; overflow: hidden; border-bottom: 1px solid #1d2d3e; background: #eef5fb; }
.gantt-calendar-week-scale span { position: absolute; inset-block: 0; display: flex; align-items: center; justify-content: center; min-width: 25px; overflow: hidden; border-left: 1px solid #9bb8d2; color: #24557d; font-size: .68rem; font-weight: 900; white-space: nowrap; }
.gantt-month-markers,.gantt-week-markers { position: absolute; inset: 0 0 0 var(--timeline-offset,270px); pointer-events: none; z-index: 2; }
.gantt-month-markers i { position: absolute; top: 0; bottom: 0; border-left: 1px solid rgba(53,78,104,.2); }
.gantt-week-markers i { position: absolute; top: 0; bottom: 0; border-left: 1px dashed rgba(53,78,104,.12); }
.gantt-line > * { z-index: 3; }
.gantt-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 18px; color: var(--sap-muted); font-weight: 800; }
.gantt-legend span { display: inline-flex; align-items: center; gap: 7px; }
.gantt-legend i { width: 22px; height: 8px; display: inline-block; border-radius: 99px; }
.workstream-assignment { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,2fr) minmax(180px,1fr) minmax(160px,1fr); gap: 12px; padding: 12px; border: 1px solid var(--sap-border); border-radius: 8px; }
.workstream-assignment legend { padding: 0 6px; font-weight: 800; }
.workstream-checks { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.workstream-checks .inactive { opacity: .65; }
.workstream-dot { width: 12px; height: 12px; display: inline-block; flex: 0 0 12px; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.14); }
.color-input-pair { display: grid; grid-template-columns: 52px minmax(90px,1fr); gap: 8px; }
.gantt-workstream-badges { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 3px; }
.gantt-workstream-badges span { padding: 1px 5px; border-left: 3px solid var(--workstream-color); border-radius: 4px; background: #edf2f7; color: #46576a; font-size: .64rem; line-height: 1.25; }
.feature-package-assignment { padding: 12px; border: 1px solid var(--sap-border); border-radius: 8px; }
.feature-package-assignment legend { padding: 0 6px; font-weight: 900; }
.feature-package-assignment > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.feature-package-check { align-items: flex-start; padding: 9px; border: 1px solid #dbe3ea; border-radius: 7px; background: #f8fafc; }
.feature-package-check span { display: grid; gap: 2px; }
.feature-package-check small { color: var(--sap-muted); font-weight: 500; }
.feature-package-check.required { background: #edf7f0; }
.feature-entitlement-summary { display: grid; gap: 7px; }
.feature-entitlement-summary > div { display: flex; flex-wrap: wrap; gap: 5px; }
.feature-package-badge { padding: 3px 8px; border-radius: 999px; background: #e6f1fc; color: #174d7c; font-size: .72rem; font-weight: 900; }
.jira-integration-grid { align-items: start; }
.jira-search-results { display: grid; gap: 6px; }
.jira-search-result { display: grid; grid-template-columns: 110px minmax(0,1fr) minmax(150px,.6fr); gap: 8px; align-items: center; padding: 9px; border: 1px solid #d8e1e8; border-radius: 7px; background: #fff; color: var(--sap-text); text-align: left; cursor: pointer; }
.jira-search-result.selected { border-color: var(--sap-blue); background: #eaf4ff; box-shadow: inset 3px 0 var(--sap-blue); }
.gantt-milestone-legend { width: 9px; height: 9px; display: inline-block; transform: rotate(45deg); background: #f23862; }
.gantt-milestone-legend.program { background: #c91e48; }
.master-status-symbol { width: 16px; height: 16px; display: inline-flex; flex: 0 0 16px; align-items: center; justify-content: center; color: var(--status-color,#687787); font-size: .78rem; font-weight: 900; line-height: 1; }
.master-status-symbol.large { width: 19px; height: 19px; flex-basis: 19px; font-size: .95rem; }
.master-status-color { width: 14px; height: 14px; display: inline-block; margin-right: 6px; border: 1px solid rgba(0,0,0,.15); border-radius: 3px; vertical-align: -2px; }

.additional-bars-editor { width: 100%; min-width: 0; border: 1px solid #d6e0e9; border-radius: 9px; background: #f8fafc; }
.form-grid > fieldset.full { grid-column: 1 / -1; min-width: 0; }
.additional-bars-editor > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 8px 11px; color: var(--sap-text); font-weight: 700; cursor: pointer; list-style: none; }
.additional-bars-editor > summary::-webkit-details-marker { display: none; }
.additional-bars-editor > summary::after { content: "▾"; order: 3; color: var(--sap-muted); transition: transform .15s ease; }
.additional-bars-editor[open] > summary::after { transform: rotate(180deg); }
.additional-bars-editor > summary small { margin-left: auto; color: var(--sap-muted); font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; }
.additional-bars-editor[open] > summary { border-bottom: 1px solid #d6e0e9; }
.additional-bars-content { padding: 10px 12px 12px; }
.additional-bars-content > p { margin: 0 0 8px; }
.additional-bars-only-toggle { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 12px; padding: 10px 12px; border: 1px solid #c8d8e8; border-radius: 8px; background: #eef5fc; }
.additional-bars-only-toggle span { display: grid; gap: 2px; }
.additional-bars-only-toggle small { color: var(--sap-muted); font-weight: 500; }
.additional-bar-row { display: grid; grid-template-columns: minmax(105px,.55fr) minmax(145px,1fr) minmax(210px,1.45fr) minmax(115px,.65fr); align-items: end; gap: 10px; margin-bottom: 10px; padding: 12px; border: 1px solid #d6e1eb; border-radius: 9px; background: #fff; box-shadow: 0 2px 7px rgba(28,55,82,.05); }
.additional-bar-row label { min-width: 0; margin: 0; }
.additional-bar-row input, .additional-bar-row select { width: 100%; min-width: 0; min-height: 42px; }
.additional-bar-main-color { display: grid; grid-template-columns: 24px auto; align-items: center; align-self: end; gap: 7px; min-height: 42px; padding: 8px 9px; border: 1px solid #d6e0e9; border-radius: 8px; background: #f4f7fa; color: var(--sap-muted); font-weight: 800; }
.additional-bar-main-color[hidden] { display: none; }
.additional-bar-main-color span { width: 24px; height: 24px; border: 1px solid rgba(0,0,0,.16); border-radius: 6px; }
.additional-bar-main-color small { white-space: nowrap; }
.additional-bar-row .button.danger { min-height: 42px; }
@media (max-width: 850px) { .additional-bar-row { grid-template-columns: 1fr 1fr; } }

.program-management-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); align-items: start; gap: 10px; margin-bottom: 10px; }
.program-management-grid,.program-shared-form,.program-plan-list { width: 100%; max-width: none; }
.program-management-grid > .card { min-width: 0; margin-bottom: 0; }
.program-editor-card, .program-shared-form { max-width: none; }
.program-setup-section { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--pcc-border); }
.compact-card-heading { margin-bottom: 9px; padding-bottom: 7px; border-bottom: 1px solid var(--pcc-border); }
.compact-card-heading h3 { margin: 0 0 2px; font-size: 15px; }
.compact-card-heading p { margin: 0; color: var(--pcc-muted); font-size: 12px; }
.program-form-grid { grid-template-columns: minmax(220px,1.5fr) minmax(130px,.7fr) minmax(84px,.4fr); gap: 7px 10px; }
.form-section-title { grid-column: 1 / -1; margin: 2px 0 -1px; padding: 5px 0 4px; border-bottom: 1px solid var(--pcc-border); color: var(--pcc-text); font-size: .76rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.form-section-title:first-child { margin-top: -2px; }
.program-form-grid textarea, .program-shared-form textarea { min-height: 48px; }
.program-project-scope { border: 1px solid var(--sap-border); border-radius: 8px; padding: 0; background: #f8fafc; }
.program-project-scope legend { padding: 0 6px; font-weight: 900; }
.program-project-disclosure { grid-column: 1 / -1; min-width: 0; }
.program-project-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 8px 11px; color: var(--sap-text); font-weight: 800; cursor: pointer; }
.program-project-disclosure > summary small { margin-left: auto; color: var(--sap-muted); font-weight: 600; }
.program-project-disclosure[open] > summary { border-bottom: 1px solid var(--sap-border); }
.program-project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 12px; max-height: 180px; overflow: auto; padding: 10px 11px; }
.program-project-check { min-width: 0; }
.program-list-card { max-height: 430px; overflow: hidden; }
.program-list-card .card-header { margin-bottom: 8px; }
.program-list { display: grid; gap: 5px; max-height: 350px; overflow: auto; padding-right: 2px; }
.program-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid var(--sap-border); border-left: 4px solid var(--program-color,#178a55); border-radius: 8px; background: #fff; }
.program-card.selected { background: #eef8f2; box-shadow: inset 0 0 0 1px #8bcbaa; }
.program-card strong,.program-card small { display: block; }
.program-card small { margin-top: 3px; color: var(--sap-muted); }
.program-card-content { min-width: 0; }
.program-card-content strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.program-card-actions { display: flex; align-items: center; gap: 4px; }
.program-card-actions .button { min-height: 30px; padding: 4px 7px; }
.program-selection-card { max-height: none; margin-bottom: 10px; }
.program-selection-toolbar { display: grid; grid-template-columns: minmax(260px,.7fr) minmax(300px,1.3fr); align-items: end; gap: 12px; }
.program-selection-toolbar > label { margin: 0; }
.program-selection-summary { display: flex; align-items: center; gap: 9px; min-height: var(--pcc-control-height); padding: 5px 9px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface-subtle); }
.program-selection-summary > i,.program-list-name > i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--program-color,#178a55); }
.program-selection-summary span,.program-selection-summary strong,.program-selection-summary small { display: block; min-width: 0; }
.program-selection-summary small { margin-top: 1px; color: var(--pcc-muted); font-size: 11px; }
.program-list-name { display: inline-flex; align-items: center; gap: 7px; }
.program-setup-table .program-card-actions { justify-content: flex-end; }
.program-shared-form { margin-bottom: 10px; }
.program-shared-form .planning-section-grid { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 7px 8px; max-width: 1320px; }
.program-shared-form [data-program-item-name] { grid-column: span 6; }
.program-shared-form [data-program-item-type],.program-shared-form [data-program-item-order] { grid-column: span 3; }
.program-shared-form [data-primary-plan-entry]:has(> input) { grid-column: span 5; }
.program-shared-form [data-program-text-position] { grid-column: span 3; }
.program-shared-form [data-program-line-milestone] { grid-column: span 4; }
.program-shared-form .program-item-description { grid-column: 1 / -1; }
.program-shared-form [data-shared-activity-date],.program-shared-form [data-shared-milestone-date] { grid-column: span 2; }
.program-shared-form .additional-bars-editor { grid-column: 1 / -1; }
.program-shared-form label:has(> input[type="color"]) { grid-column: span 2; }
.program-shared-form label:has(> select[name="owner"]),.program-shared-form label:has(> select[name="phase"]),.program-shared-form label:has(> select[name="sapActivatePhase"]) { grid-column: span 3; }
.program-shared-form label.check-row { grid-column: span 3; min-height: var(--pcc-control-height); align-self: end; }
.program-shared-form .program-project-scope,.program-shared-form .jira-feature { grid-column: 1 / -1; }
.program-plan-list .card-header { margin-bottom: 8px; }
.program-plan-table th, .program-plan-table td { padding-block: 8px; }
.program-badge { display: inline-block; padding: 3px 7px; border-radius: 99px; background: #176f48; color: #fff; font-size: .64rem; font-weight: 900; letter-spacing: .08em; }
.shared-type { display: inline-block; padding: 3px 7px; border-radius: 99px; background: #e6f5ec; color: #176f48; font-size: .72rem; font-weight: 900; }
.shared-type.milestone { background: #ffeaf0; color: #a51239; }
.inherited-item-panel { border-left: 6px solid #178a55; background: #f6fcf8; }
.inherited-item-header { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.inherited-item-header h3 { margin: 8px 0 2px; }
.inherited-item-header p { margin: 0; color: var(--sap-muted); font-weight: 800; }
.inherited-item-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 16px 0; }
.inherited-item-grid div { padding: 10px; border: 1px solid #cfe3d7; border-radius: 7px; background: #fff; }
.inherited-item-grid small,.inherited-item-grid strong { display: block; }
.inherited-item-grid small { margin-bottom: 4px; color: var(--sap-muted); }
.gantt-dependency-indicator { float: right; border: 0; border-radius: 99px; padding: 2px 7px; background: #e8eef5; color: #30465d; font: inherit; font-size: .76rem; font-weight: 900; cursor: pointer; }
.gantt-dependency-indicator.conflict { background: #fff3cd; color: #8a5200; }
.gantt-dependency-overlay { position: absolute; inset: 0; z-index: 6; overflow: visible; pointer-events: none; }
.gantt-dependency-path { fill: none; stroke: #64788c; stroke-width: 1.5; opacity: .72; pointer-events: stroke; cursor: pointer; transition: opacity .15s ease, stroke-width .15s ease, stroke .15s ease; }
.gantt-dependency-path:hover,.gantt-dependency-path:focus,.gantt-dependency-path.active { stroke: var(--sap-blue); stroke-width: 3; opacity: 1; outline: none; }
.gantt-dependency-path.conflict { stroke: #d2691e; stroke-width: 2.25; opacity: 1; }
.gantt-dependency-overlay #dependencyArrow path { fill: #64788c; }
.gantt-dependency-overlay #dependencyArrowConflict path { fill: #d2691e; }
.gantt-body.dependency-selection-active .gantt-dependency-path:not(.active) { opacity: .15; }

.dependency-manager { margin: 8px 0; padding: 10px 12px; }
.dependency-manager .card-header { margin-bottom: 7px; }
.dependency-manager .card-header h2 { font-size: 1rem; }
.dependency-manager .card-header p { margin-top: 2px; }
.phase-automatic-summary { grid-column: 1 / -1; display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 9px 11px; border: 1px solid #b8d6f2; border-left: 4px solid var(--pcc-primary); border-radius: var(--pcc-radius-control); background: #f2f8fd; }
.phase-automatic-summary[hidden] { display: none; }
.phase-automatic-summary strong { flex: 0 0 auto; color: var(--pcc-text); }
.phase-automatic-summary span { color: var(--pcc-muted); }
.form-card.phase-mode .form-grid { align-items: start; }
.form-card.phase-mode [name="wbsCode"] { background: #edf1f5; color: #64788c; }
.dependency-current { display: grid; gap: 4px; max-width: 460px; font-weight: 800; }
.dependency-current select { min-height: 34px; padding-block: 5px; }
.dependency-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.dependency-columns h3,.dependency-add-form h3 { margin: 0 0 6px; text-transform: uppercase; letter-spacing: .05em; font-size: .8rem; color: var(--sap-muted); }
.dependency-entry { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 6px; align-items: center; min-height: 44px; padding: 6px; border: 1px solid #d7e0e8; border-radius: 6px; margin-bottom: 5px; background: #fff; }
.dependency-entry.conflict { border-color: #ffd666; background: #fffaf0; }
.dependency-arrow { font-size: 1.35rem; color: var(--sap-blue); font-weight: 900; }
.dependency-entry strong,.dependency-entry span,.dependency-entry small { display: block; }
.dependency-entry span { color: var(--sap-muted); font-size: .86rem; margin-top: 3px; }
.dependency-entry small { color: #8a5200; font-weight: 900; margin-top: 3px; }
.dependency-entry-actions { display: flex; align-items: center; gap: 5px; }
.dependency-entry-actions select { width: 64px; }
.dependency-entry-actions input { width: 68px; }
.dependency-entry-actions select,.dependency-entry-actions input { padding: 5px 6px; min-height: 32px; }
.dependency-status { display: inline-flex; margin-top: 8px; padding: 5px 8px; border-radius: 6px; font-weight: 900; }
.dependency-status.valid { background: #e5f6ec; color: #116b3a; }
.dependency-status.conflict { background: #fff3cd; color: #8a5200; }
.dependency-add-form { display: grid; grid-template-columns: repeat(4,minmax(130px,1fr)) auto; gap: 7px; align-items: end; margin-top: 9px; padding-top: 9px; border-top: 1px solid #d7e0e8; }
.dependency-add-form h3 { grid-column: 1/-1; }
.dependency-add-form label { display: grid; gap: 5px; font-weight: 800; }
[data-phase-auto-note] { margin-top: 4px; color: var(--sap-muted); font-size: .76rem; font-weight: 700; }
[data-plan-range] input:disabled,[data-plan-progress] input:disabled { background: #edf1f5; color: #64788c; cursor: not-allowed; }

@media (max-width: 1100px) {
  .project-plan-filter-grid { grid-template-columns: repeat(4,minmax(130px,1fr)); }
  .dependency-columns { grid-template-columns: 1fr; }
  .dependency-add-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dependency-entry { grid-template-columns: 28px minmax(0,1fr); }
  .dependency-entry-actions { grid-column: 2; flex-wrap: wrap; }
}

@media (max-width: 600px) {
  .contextual-help-tooltip { display: none; }
  .contextual-help-popover { inset: auto 0 0 0; width: 100%; max-height: min(75dvh, 560px); padding: 16px; border-width: 1px 0 0; border-radius: 16px 16px 0 0; box-shadow: 0 -10px 30px rgba(32,54,78,.22); }
  .help-search { grid-template-columns: 1fr; }
  .help-article-grid { grid-template-columns: 1fr; }
  .help-detail { padding: 14px; }
  .phase-automatic-summary { align-items: flex-start; flex-direction: column; gap: 3px; }
}

@media (max-width: 900px) {
  .project-plan-profile-toggles { grid-template-columns: 1fr; }
    .shell-bar { flex-wrap: wrap; height: auto; gap: 8px; padding: 8px 12px; }
    .brand { min-width: 0; }
    .brand span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .language-switch { min-width: 106px; max-width: 128px; }
    .side-nav { position: sticky; top: 56px; width: auto; max-height: 44vh; margin-top: 56px; padding: 8px; border-right: 0; border-bottom: 1px solid var(--sap-border); z-index: 6; }
    .nav-footer { display: none; }
    .main-content { margin-left: 0; padding: 18px 14px 24px; }
    .page-header, .card-header { flex-direction: column; }
    .kpi-grid, .dashboard-grid, .form-grid, .permission-grid, .master-data-grid, .overview-kpis, .overview-registers, .overview-panels, .report-editor-grid, .group-guide .guide-grid, .project-scope-card, .mywork-grid, .program-management-grid { grid-template-columns: 1fr; }
    .project-plan-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .project-plan-filter-footer { align-items: flex-start; flex-direction: column; }
    .bulk-update-editor-grid { grid-template-columns: 1fr 1fr; }
    .overview-hero { flex-direction: column; }
    .risk3-assessment { display: block; overflow-x: auto; padding: 14px; }
    .profile-section { grid-template-columns: 1fr; gap: 12px; }
    .profile-option-grid, .profile-session-option { grid-template-columns: 1fr; }
    .risk3-left { min-width: 560px; grid-template-columns: 66px 1fr; }
    .risk3-axis { grid-template-columns: 24px 1fr; }
    .risk3-details { min-width: 560px; margin-top: 18px; }
    .risk-detail-columns { grid-template-columns: 1fr; gap: 8px; }
    .management-report { display: grid; grid-template-columns: 1fr; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .management-report > * { grid-column: auto !important; grid-row: auto !important; min-width: 0; }
    .report-title, .report-milestones, .report-status-panel { grid-column: auto; grid-row: auto; }
    table { min-width: 720px; }
    .translation-table { min-width: 980px; }
    .actions-cell { min-width: 150px; }
    .gantt-card { overflow-x: auto; }
    .inherited-item-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .workpackage-report-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .workpackage-report-panels { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .shell-bar { align-items: center; }
    .brand-mark { width: 30px; height: 30px; border-radius: 8px; }
    .brand span:last-child { max-width: 150px; }
    .button.small, .language-switch { font-size: .78rem; padding: 6px 8px; }
    .session-countdown { order: 5; width: 100%; justify-content: center; min-height: 30px; padding: 4px 8px; }
    .avatar-button { width: 30px; height: 30px; }
    h1 { font-size: 2rem; }
    .overview-hero h2 { font-size: 1.65rem; }
    .card, .kpi, .login-card { border-radius: 13px; padding: 14px; }
    .login-card { margin: 72px 10px 24px; }
    .side-nav { max-height: 50vh; }
    .nav-item { padding: 9px 10px; }
    .form-actions { flex-direction: column; align-items: stretch; }
    .bulk-update-editor-grid { grid-template-columns: 1fr; }
    .bulk-inline-confirmation { align-items: stretch; flex-direction: column; }
    .form-actions .button { width: 100%; }
    .table-filter-label { min-width: 100%; max-width: 100%; }
    .program-project-grid,.inherited-item-grid { grid-template-columns: 1fr; }
    .program-card,.inherited-item-header { align-items: stretch; flex-direction: column; }
    .workpackage-report-heading { flex-direction: column; }
    .workpackage-report-kpis, .workpackage-report-panels { grid-template-columns: 1fr; }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .side-nav { width: 220px; }
    .main-content { margin-left: 220px; padding-left: 20px; padding-right: 20px; }
    .kpi-grid, .overview-kpis, .overview-registers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-grid, .master-data-grid, .group-guide .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .risk3-assessment { grid-template-columns: 1fr; overflow-x: auto; }
}

.jira-connection-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.8rem; margin-bottom:1rem; }
.jira-connection-summary > div { display:flex; flex-direction:column; gap:.25rem; padding:.75rem; border:1px solid #dbe4ed; border-radius:10px; background:#f8fafc; }
.jira-status { display:flex; align-items:center; gap:.4rem; }
.jira-status i { width:.65rem; height:.65rem; border-radius:50%; background:#c27900; }
.jira-status.connected i { background:#188918; box-shadow:0 0 0 3px #dff5e5; }
.project-jira-settings { margin-top:1rem; }
.jira-source-projects,.jira-hierarchy-levels { display:flex; flex-wrap:wrap; gap:.65rem; }
.jira-source-projects .check-row { min-width:220px; }
.jira-sync-preview { padding:1rem; margin-top:1rem; border:1px solid #b8d6f2; background:#f2f8fd; border-radius:10px; }
.jira-sync-history { margin-top:1.25rem; }
.jira-module-header { margin-bottom:.75rem; }
.jira-module-tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.jira-module-overview { margin-bottom:1rem; }
.jira-mapping-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.75rem; }
.jira-mapping-grid legend,.jira-mapping-grid > p { grid-column:1 / -1; }
[data-jira-run] { cursor:pointer; }
[data-jira-run]:hover,[data-jira-run]:focus { background:#f5f7fa; outline:none; }
.gantt-row-label.jira-hierarchy { background:#f4f7fb; border-left:3px solid #4b6f8f; }
.gantt-row-label.jira-depth-1 { padding-left:1.4rem; }
.gantt-row-label.jira-depth-2 { padding-left:2.3rem; }
.gantt-row-label.jira-depth-3 { padding-left:3.2rem; }
.gantt-row-label.jira-depth-4,.gantt-row-label.jira-depth-5,.gantt-row-label.jira-depth-6 { padding-left:4rem; }
.gantt-jira-type { display:block; color:#66788a; font-size:.68rem; }

/* PCC Enterprise Design System -------------------------------------------------
   Shared visual foundation for shell, forms, tables, filters, integrations and
   planning. Workstream and object colors remain data driven. */
:root {
  --pcc-primary: #0a6ed1;
  --pcc-primary-hover: #085caf;
  --pcc-primary-soft: #ebf5fe;
  --pcc-shell: #354a5f;
  --pcc-bg: #f5f6f7;
  --pcc-surface: #fff;
  --pcc-surface-subtle: #f7f8f9;
  --pcc-border: #d9d9d9;
  --pcc-border-strong: #89919a;
  --pcc-text: #1d2d3e;
  --pcc-muted: #556b82;
  --pcc-success: #188918;
  --pcc-warning: #e76500;
  --pcc-error: #bb0000;
  --pcc-info: #0a6ed1;
  --pcc-radius-control: 4px;
  --pcc-radius-panel: 6px;
  --pcc-shadow-overlay: 0 8px 24px rgba(34, 53, 72, .18);
  --pcc-space-xs: 4px;
  --pcc-space-s: 8px;
  --pcc-space-m: 12px;
  --pcc-space-l: 24px;
  --pcc-space-xl: 32px;
  --pcc-control-height: 34px;
  --pcc-table-row-height: 36px;
  --pcc-shell-height: 48px;
  --pcc-nav-width: 224px;
  --pcc-module-header-padding-block: 10px;
  --pcc-module-header-padding-inline: 2px;
  --pcc-module-header-eyebrow-size: 11px;
  --pcc-module-header-title-size: 21px;
  --pcc-module-header-description-size: 13px;
  --pcc-module-header-action-gap: 8px;
  --pcc-module-header-border: 1px solid var(--pcc-border);
  --pcc-section-gap: 12px;
  --sap-blue: var(--pcc-primary);
  --sap-dark: var(--pcc-shell);
  --sap-border: var(--pcc-border);
  --sap-bg: var(--pcc-bg);
  --sap-card: var(--pcc-surface);
  --sap-text: var(--pcc-text);
  --sap-muted: var(--pcc-muted);
  --sap-green: var(--pcc-success);
  --sap-red: var(--pcc-error);
}

body { background: var(--pcc-bg); color: var(--pcc-text); font-size: 14px; line-height: 1.4; }
body[data-density="cozy"] { --pcc-control-height: 44px; --pcc-table-row-height: 48px; }
button, input, select, textarea { letter-spacing: normal; }
a, button, input, select, textarea, summary, [tabindex] { outline-offset: 2px; }
:focus-visible { outline: 2px solid var(--pcc-primary) !important; outline-offset: 2px; }
::selection { background: #b8dbf8; color: var(--pcc-text); }

.shell-bar {
  min-height: var(--pcc-shell-height); height: var(--pcc-shell-height); gap: var(--pcc-space-m); padding: 0 16px;
  background: var(--pcc-shell); box-shadow: 0 1px 3px rgba(0,0,0,.22);
}
.brand { gap: 8px; font-size: 15px; font-weight: 600; white-space: nowrap; }
.brand-mark { width: 34px; height: 26px; border-radius: 3px; background: var(--pcc-primary); font-size: 11px; letter-spacing: .04em; }
.shell-project-selector { display: flex; align-items: center; gap: 7px; max-width: min(32vw, 440px); padding-left: 12px; border-left: 1px solid rgba(255,255,255,.28); color: #e5f0fa; font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.shell-project-selector select { width: min(25vw, 330px); min-width: 170px; height: 30px; min-height: 30px; padding: 3px 28px 3px 8px; border-color: rgba(255,255,255,.38); background-color: #fff; color: var(--pcc-text); font-size: .82rem; font-weight: 700; text-transform: none; letter-spacing: normal; }
.shell-icon-button { display: none; width: 34px; height: 34px; border: 0; border-radius: var(--pcc-radius-control); background: transparent; color: #fff; cursor: pointer; font-size: 20px; }
.shell-icon-button:hover { background: rgba(255,255,255,.12); }
.shell-bar .button.subtle { border-color: transparent; background: transparent; color: #fff; }
.shell-bar .button.subtle:hover { background: rgba(255,255,255,.12); }
.avatar-button { width: 30px; height: 30px; background: #d1e8ff; font-size: 12px; }
.language-switch { min-height: 30px; height: 30px; border-radius: 3px; }
.session-countdown { min-height: 30px; height: 30px; border-radius: 3px; }

.side-nav {
  top: var(--pcc-shell-height); width: var(--pcc-nav-width); padding: 8px; gap: 4px;
  background: var(--pcc-surface); box-shadow: none; z-index: 9;
}
.nav-module { gap: 2px; }
.nav-group-toggle { margin: 10px 0 3px; padding: 5px 9px; border-radius: 3px; font-size: 11px; font-weight: 600; }
.nav-module-items { gap: 1px; }
.nav-item { min-height: 36px; gap: 9px; margin: 0; padding: 7px 9px; border-radius: 3px; font-size: 13px; font-weight: 500; }
.nav-item:hover { background: #f0f5fa; }
.nav-item.active { background: var(--pcc-primary-soft); color: var(--pcc-primary); box-shadow: inset 3px 0 var(--pcc-primary); font-weight: 600; }
.nav-icon { width: 20px; height: 20px; flex-basis: 20px; font-size: 16px; }
.nav-icon svg { width: 17px; height: 17px; }
.nav-footer { padding: 10px 9px; font-size: 12px; }
.navigation-backdrop { position: fixed; inset: var(--pcc-shell-height) 0 0; z-index: 8; border: 0; background: rgba(20,34,48,.34); }

.main-content { margin-left: var(--pcc-nav-width); padding: 66px 20px 24px; }
.page-header {
  min-height: 0; align-items: center; margin-bottom: var(--pcc-section-gap);
  padding: var(--pcc-module-header-padding-block) var(--pcc-module-header-padding-inline);
  border-bottom: var(--pcc-module-header-border); background: transparent;
}
.pcc-module-header-copy { min-width: 0; flex: 1 1 auto; }
.page-header .eyebrow { margin-bottom: 2px; font-size: var(--pcc-module-header-eyebrow-size); font-weight: 600; letter-spacing: .07em; }
.page-header h1 { overflow-wrap: anywhere; font-size: var(--pcc-module-header-title-size); }
.page-header .subtitle { max-width: 72ch; font-size: var(--pcc-module-header-description-size); line-height: 1.35; }
.pcc-module-header-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: var(--pcc-module-header-action-gap); }
.pcc-module-header-actions:empty { display: none; }
.pcc-module-header-actions .form-actions { display: contents; }
.pcc-module-header-actions .button { margin: 0; }
.pcc-module-header-more { position: relative; }
.pcc-module-header-more > summary { list-style: none; }
.pcc-module-header-more > summary::-webkit-details-marker { display: none; }
.pcc-module-header-more > div { position: absolute; top: calc(100% + 4px); right: 0; z-index: 8; display: grid; min-width: 190px; gap: 3px; padding: 5px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface); box-shadow: var(--pcc-shadow-overlay); }
.pcc-module-header-more > div .button { width: 100%; justify-content: flex-start; border-color: transparent; }
.module-content { min-width: 0; }
h1 { font-size: 21px; font-weight: 600; letter-spacing: -.015em; }
h2 { font-size: 17px; font-weight: 600; letter-spacing: -.005em; }
h3 { font-size: 15px; font-weight: 600; }
.subtitle, .card-header p { margin-top: 2px; font-size: 13px; }

.card, .kpi { border-color: var(--pcc-border); border-radius: var(--pcc-radius-panel); box-shadow: none; }
.card { padding: 14px; margin-bottom: 12px; }
.card .card { background: var(--pcc-surface-subtle); }
.card-header { align-items: center; gap: 12px; margin-bottom: 12px; padding-bottom: 9px; border-bottom: 1px solid var(--pcc-border); }
.kpi-grid, .overview-kpis, .overview-registers { gap: 10px; margin-bottom: 12px; }
.kpi { min-height: 96px; padding: 12px 14px; }
.kpi strong { margin: 3px 0; font-size: 24px; font-weight: 600; }
.kpi b { top: 14px; right: 14px; }
.dashboard-grid, .master-data-grid, .overview-panels { gap: 12px; }
.overview-hero { margin-bottom: 14px; }
.overview-hero h2 { font-size: 21px; letter-spacing: -.015em; }
.empty-state { display: grid; place-items: center; gap: 5px; min-height: 140px; margin: 0; padding: 24px; }
.empty-state strong { color: var(--pcc-text); font-size: 15px; }

.button {
  min-height: 32px; border-radius: var(--pcc-radius-control); padding: 5px 12px;
  font-size: 13px; font-weight: 600; transition: background .1s ease, border-color .1s ease, color .1s ease;
}
.button:hover:not(:disabled) { filter: none; }
.button.primary:hover:not(:disabled) { background: var(--pcc-primary-hover); }
.button.secondary { border-color: var(--pcc-primary); }
.button.secondary:hover:not(:disabled), .button.subtle:hover:not(:disabled) { background: var(--pcc-primary-soft); }
.button.subtle { background: transparent; }
.button.danger { border-color: #e09d9d; background: #fff; }
.button.small { min-height: 28px; padding: 3px 8px; font-size: 12px; }
.button:disabled { cursor: not-allowed; opacity: .55; }

.form-card { width: 100%; max-width: none; }
.form-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px 10px; }
.form-grid.single { grid-template-columns: minmax(0, 1fr); }
label { gap: 4px; color: #41566b; font-size: 13px; font-weight: 600; }
label.full, .comment-box, .form-grid > fieldset.full { grid-column: 1 / -1; }
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), select {
  min-height: var(--pcc-control-height); height: var(--pcc-control-height); border-radius: var(--pcc-radius-control); padding: 5px 9px;
}
textarea { min-height: 76px; border-radius: var(--pcc-radius-control); padding: 7px 9px; }
input:hover:not(:disabled), select:hover:not(:disabled), textarea:hover:not(:disabled) { border-color: var(--pcc-border-strong); }
input:focus, select:focus, textarea:focus { border-color: var(--pcc-primary); box-shadow: 0 0 0 1px var(--pcc-primary); }
input:invalid:not(:placeholder-shown), select:invalid:not(:focus), textarea:invalid:not(:placeholder-shown) { border-color: var(--pcc-error); }
label:has(input[type="date"]), label:has(input[type="number"]) { justify-self: start; width: min(100%, 170px); }
label:has(input[name*="progress" i]), label:has(input[name*="duration" i]), label:has(input[name*="sequence" i]) { width: min(100%, 120px); }
.compact-input-field input { min-height: var(--pcc-control-height); height: var(--pcc-control-height); }
.check-row { min-height: 30px; gap: 7px; font-weight: 500; }
.check-row input[type="checkbox"], input[type="radio"] { width: 16px; height: 16px; accent-color: var(--pcc-primary); }
.form-actions { justify-content: flex-end; gap: 8px; margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--pcc-border); }
.form-collapse { border-radius: var(--pcc-radius-panel); background: var(--pcc-surface); }
.form-collapse summary { padding: 9px 11px; font-weight: 600; }
.form-collapse .form-grid { padding: 2px 11px 11px; }
fieldset { min-width: 0; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-panel); }
legend { color: var(--pcc-text); font-weight: 600; }
.required-field-marker { color: var(--pcc-error); }

.message { margin-bottom: 12px; border-radius: var(--pcc-radius-control); border-color: #8bb8e8; border-left: 4px solid var(--pcc-info); padding: 9px 11px; background: #f1f7fd; font-size: 13px; font-weight: 500; }
.message.danger-message { border-color: #efb3b3; border-left-color: var(--pcc-error); background: #fff5f5; }
.status-pill, .risk-score, .pcc-status { gap: 5px; border-radius: 999px; padding: 2px 7px; font-size: 12px; font-weight: 600; }
.pcc-status { display: inline-flex; align-items: center; color: var(--status-color, var(--pcc-muted)); background: color-mix(in srgb, var(--status-color, var(--pcc-muted)) 10%, white); }
.pcc-status i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }

.table-toolbar { align-items: flex-end; flex-wrap: wrap; }
.table-toolbar > :first-child { flex: 1 1 180px; }
.table-header-tools { flex: 1 1 720px; align-items: flex-end; justify-content: flex-end; gap: 6px; }
.table-header-tools .button.small, .table-view-tools summary.button.small, .table-view-control, .table-quick-edit-toggle { box-sizing: border-box; min-height: 32px; height: 32px; }
.table-view-tools { display: flex; align-items: center; gap: 5px; }
.table-view-tools label { min-width: 180px; }
.table-view-control { display: flex; align-items: center; padding-left: 8px; border: 1px solid var(--pcc-border-strong); border-radius: var(--pcc-radius-control); background: var(--pcc-surface); color: var(--pcc-text); overflow: hidden; }
.table-view-control > span { flex: 0 0 auto; color: var(--pcc-muted); font-size: 12px; font-weight: 600; }
.table-view-control select { width: auto; min-width: 126px; min-height: 30px; height: 30px; margin-left: 7px; padding: 2px 25px 2px 7px; border: 0; border-left: 1px solid var(--pcc-border); border-radius: 0; background-color: var(--pcc-surface); color: var(--pcc-text); font-size: 12px; font-weight: 600; }
.table-view-control select:focus { outline: 2px solid var(--pcc-primary); outline-offset: -3px; box-shadow: none; }
.table-view-control select option { background: #fff; color: var(--pcc-text); }
.table-view-tools details { position: relative; }
.table-view-tools summary { list-style: none; cursor: pointer; }
.table-view-tools summary::-webkit-details-marker { display: none; }
.table-view-tools details > div { position: absolute; top: calc(100% + 4px); right: 0; z-index: 8; display: grid; min-width: 150px; padding: 4px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface); box-shadow: var(--pcc-shadow-overlay); }
.table-view-tools details > div button { border: 0; padding: 7px 9px; background: transparent; color: var(--pcc-text); text-align: left; cursor: pointer; }
.table-view-tools details > div button:hover { background: var(--pcc-primary-soft); color: var(--pcc-primary); }
.table-filter-label { flex: 1 1 260px; width: clamp(240px,26vw,360px); min-width: 240px; max-width: 360px; }
.table-filter-label .table-filter { width: 100%; min-height: 32px; height: 32px; }
.table-header-action-group { display: inline-flex; align-items: center; gap: 4px; min-height: 28px; }
.table-quick-edit-toggle { align-content: center; gap: 6px; padding: 3px 8px; border: 1px solid var(--pcc-primary); border-radius: var(--pcc-radius-control); background: var(--pcc-primary); color: #fff; cursor: pointer; }
.table-quick-edit-toggle:hover { background: var(--pcc-primary-hover); border-color: var(--pcc-primary-hover); }
.table-quick-edit-toggle strong { color: #fff; }
.table-quick-edit-toggle input { accent-color: #fff; }
.table-wrap { max-width: 100%; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface); }
table { font-size: 13px; }
th, td { height: var(--pcc-table-row-height); padding: 7px 9px; border-bottom-color: #e5e7e9; vertical-align: middle; }
th { position: sticky; top: 0; z-index: 2; background: #f2f3f4; color: #354a5f; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; white-space: nowrap; }
tbody tr:nth-child(even) td { background: #fbfbfb; }
tbody tr:hover td { background: #eef6fc; }
.table-column-filter-row th { padding: 5px 7px; background: #f7f8f9; }
.table-column-filter { min-height: 30px; border-radius: 3px; padding: 3px 7px; }
.table-column-filter-multi { height: 30px; cursor: pointer; }
.table-column-filter-multi option { padding: 4px 7px; }
.table-quick-edit-input { min-width: 96px; min-height: 30px !important; height: 30px !important; border-radius: 3px; padding: 3px 6px !important; }
.table-quick-edit-dirty td { background: #fff8dc !important; }
.table-quick-edit-dirty td:first-child { box-shadow: inset 3px 0 var(--pcc-warning); }
.table-quick-edit-dirty td:first-child::before { content: "Modified"; display: block; color: #8b4f00; font-size: 10px; font-weight: 600; }
.actions-cell { display: table-cell; min-width: 146px; white-space: nowrap; vertical-align: middle; }
.table-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: nowrap; }
.table-row-actions .button { flex: 0 0 auto; }
.fast-edit-save-bar { position: sticky; bottom: 8px; z-index: 7; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px auto 0; padding: 8px 10px; border: 1px solid #85b3e3; border-radius: var(--pcc-radius-control); background: #f1f7fd; box-shadow: var(--pcc-shadow-overlay); }
.fast-edit-save-bar[hidden] { display: none; }
.fast-edit-save-bar > div { display: flex; gap: 8px; }
.table-empty-state td { height: 140px; text-align: center; }
.table-empty-state strong, .table-empty-state span { display: block; }
.table-empty-state span { margin-top: 4px; color: var(--pcc-muted); }

.master-row, .activity-item, .program-card, .profile-option, .jira-connection-summary > div { border-radius: var(--pcc-radius-control); background: var(--pcc-surface); }
.master-row:hover, .program-card:hover { background: #f2f7fc; }
.profile-section { gap: 18px; }
.profile-option { min-height: 58px; padding: 9px 10px; }
.login-card { border-radius: 8px; padding: 24px; box-shadow: var(--pcc-shadow-overlay); }
.login-card h2 { font-size: 21px; }

.jira-module-tabs { gap: 16px; border-bottom: 1px solid var(--pcc-border); }
.jira-module-tabs .button { min-height: 36px; margin-bottom: -1px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: var(--pcc-muted); }
.jira-module-tabs .button.primary { border-bottom-color: var(--pcc-primary); color: var(--pcc-primary); }
.jira-sync-preview, .project-plan-filter-card { border-radius: var(--pcc-radius-panel); background: var(--pcc-surface-subtle); }
.jira-mapping-grid { gap: 10px 14px; }

.project-plan-filter-card { padding: 14px 16px; border-color: var(--pcc-border); }
.project-plan-filter-grid { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 14px 16px; }
.project-plan-filter-grid > label { font-size: 12px; }
.project-plan-status-filter summary { height: var(--pcc-control-height); min-height: var(--pcc-control-height); border-radius: var(--pcc-radius-control); padding: 6px 8px; font-size: 12px; font-weight: 600; }
.project-plan-filter-popover { border-radius: var(--pcc-radius-panel); box-shadow: var(--pcc-shadow-overlay); }
.project-plan-filter-footer { margin-top: 14px; padding-top: 12px; }
.project-plan-column-toggles { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.project-plan-column-toggles .check-row { min-height: 28px; padding: 3px 0; }
.shared-plan-item-grid { row-gap: 18px; }
.shared-plan-item-grid > fieldset.full { margin-block: 3px; padding: 15px 16px; }
.planning-item-form { max-width: 1440px; }
.planning-item-form > .form-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; align-items: start; }
.planning-item-form .form-section-title { margin-top: 3px; }
.planning-item-form > .form-grid > label:has(> select[name="projectId"]) { grid-column: span 3; }
.planning-item-form > .form-grid > label:has(> input[name="wbsCode"]) { grid-column: span 2; }
.planning-item-form > .form-grid > label:has(> select[name="itemType"]) { grid-column: span 2; }
.planning-item-form > .form-grid > [data-plan-phase] { grid-column: span 3; }
.planning-item-form > .form-grid > [data-sap-activate-phase] { grid-column: span 2; }
.planning-item-form > .form-grid > [data-parent-work-package-field] { grid-column: span 4; }
.planning-item-form .workstream-assignment,
.planning-item-form .plan-name-row,
.planning-item-form .additional-bars-editor,
.planning-item-form .phase-automatic-summary { grid-column: 1 / -1; }
.planning-item-form .plan-name-row { grid-template-columns: minmax(210px,1fr) minmax(300px,1.6fr) minmax(210px,1fr); gap: 10px 12px; }
.planning-item-form .plan-name-row textarea { min-height: var(--pcc-control-height); height: 58px; resize: vertical; }
.planning-item-form > .form-grid > [data-primary-plan-entry],
.planning-item-form > .form-grid > [data-plan-status],
.planning-item-form > .form-grid > [data-plan-range],
.planning-item-form > .form-grid > [data-plan-milestone],
.planning-item-form > .form-grid > [data-plan-progress],
.planning-item-form > .form-grid > label:has(> input[type="color"]) { grid-column: span 2; }
.planning-item-form > .form-grid > [data-planning-aggregation-mode],
.planning-item-form > .form-grid > label:has(> select[name="leadOwner"]) { grid-column: span 3; }
.planning-item-form > .form-grid > [data-calculated-schedule-toggle] { grid-column: 1 / -1; }
.planning-item-form > .form-grid > [data-calculated-schedule] { grid-column: span 2; }
.planning-item-form > .form-grid > .jira-feature.full { grid-column: span 8; }
.planning-item-form input[type="color"] { width: 72px; min-height: var(--pcc-control-height); height: var(--pcc-control-height); padding: 3px; }
.planning-item-form .form-actions { margin-top: 12px; }

.work-package-form > .work-package-form-grid { display: block; }
.work-package-form .planning-form-section { padding: 0 0 12px; border-bottom: 1px solid var(--pcc-border); }
.work-package-form .planning-form-section + .planning-form-section { padding-top: 12px; }
.work-package-form .planning-form-section:last-child { padding-bottom: 0; border-bottom: 0; }
.work-package-form .planning-form-section > h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 9px; color: var(--pcc-text); font-size: 13px; font-weight: 700; text-transform: none; }
.work-package-form .planning-form-section > h3 span { display: inline-grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: var(--pcc-primary-soft); color: var(--pcc-primary); font-size: 11px; }
.work-package-form .planning-section-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: row dense; gap: 7px 8px; align-items: start; }
.work-package-form .planning-section-grid > label { min-width: 0; margin: 0; }
.work-package-form .planning-classification label:has(> select[name="projectId"]) { grid-column: span 3; }
.work-package-form .planning-classification label:has(> input[name="wbsCode"]) { grid-column: span 2; }
.work-package-form .planning-classification label:has(> select[name="itemType"]) { grid-column: span 2; }
.work-package-form .planning-classification [data-plan-phase] { grid-column: span 3; }
.work-package-form .planning-classification [data-sap-activate-phase] { grid-column: span 2; }
.work-package-form .planning-classification [data-parent-work-package-field] { grid-column: span 4; }
.work-package-form .planning-description [data-plan-item-name] { grid-column: span 3; }
.work-package-form .planning-description label:has(> textarea[name="shortDescription"]) { grid-column: span 5; }
.work-package-form .planning-description label:has(> input[name="labelText"]) { grid-column: span 4; }
.work-package-form .planning-description [data-primary-plan-entry]:has(> select) { grid-column: span 3; }
.work-package-form .planning-description [data-plan-status] { grid-column: span 3; }
.work-package-form .planning-description [data-plan-owner] { grid-column: span 6; }
.work-package-form .planning-description textarea { min-height: var(--pcc-control-height); height: var(--pcc-control-height); resize: vertical; }
.work-package-form .planning-schedule [data-planning-aggregation-mode] { grid-column: span 3; }
.work-package-form .planning-schedule [data-plan-range],
.work-package-form .planning-schedule [data-plan-milestone],
.work-package-form .planning-schedule [data-calculated-schedule] { grid-column: span 2; }
.work-package-form .planning-schedule label:has(> input[type="color"]) { grid-column: span 1; }
.work-package-form .planning-schedule [data-plan-progress] { grid-column: span 2; }
.work-package-form .planning-schedule label:has(> input[type="date"]),
.work-package-form .planning-schedule label:has(> input[type="number"]) { justify-self: stretch; width: 100%; }
.work-package-form .planning-schedule label:has(> select[name="leadOwner"]) { grid-column: span 4; }
.work-package-form .planning-schedule > .full,
.work-package-form .planning-workstreams .workstream-assignment,
.work-package-form .planning-schedule .phase-automatic-summary,
.work-package-form .planning-schedule .additional-bars-editor { grid-column: 1 / -1; }
.work-package-form .planning-workstreams .workstream-assignment { gap: 8px 12px; padding: 8px 10px 10px; }
.work-package-form .planning-workstreams .workstream-assignment legend { display: none; }
.work-package-manage-overview { display: grid; gap: 10px; }
.work-package-manage-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.work-package-manage-toolbar label { width: min(420px,100%); margin: 0; }
.work-package-summary { display: grid; grid-template-columns: repeat(4,minmax(110px,1fr)); gap: 8px; }
.work-package-summary > div { display: flex; align-items: baseline; gap: 7px; padding: 8px 10px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface-subtle); }
.work-package-summary strong { color: var(--pcc-primary); font-size: 18px; }
.work-package-summary span { color: var(--pcc-muted); font-size: 12px; font-weight: 600; }
.project-holiday-import { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(200px, 2fr) minmax(100px, .7fr) minmax(100px, .7fr) auto; gap: 8px; align-items: end; }
.project-holiday-import > label { min-width: 0; margin: 0; }
.project-holiday-import > label:has(input[type="number"]) { width: 100%; justify-self: stretch; }
.project-holiday-import > button { white-space: nowrap; min-height: var(--pcc-control-height); }
.project-holiday-import-status { grid-column: 1 / -1; font-size: 12px; color: var(--pcc-muted); }
.project-holiday-import-status:empty { display: none; }

@media (max-width: 1100px) {
  .planning-item-form > .form-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .planning-item-form > .form-grid > label:has(> select[name="projectId"]),
  .planning-item-form > .form-grid > label:has(> input[name="wbsCode"]) { grid-column: span 3; }
  .planning-item-form > .form-grid > label:has(> select[name="itemType"]),
  .planning-item-form > .form-grid > [data-plan-phase],
  .planning-item-form > .form-grid > [data-sap-activate-phase],
  .planning-item-form > .form-grid > [data-primary-plan-entry],
  .planning-item-form > .form-grid > [data-plan-status],
  .planning-item-form > .form-grid > [data-plan-range],
  .planning-item-form > .form-grid > [data-plan-milestone],
  .planning-item-form > .form-grid > [data-plan-progress],
  .planning-item-form > .form-grid > label:has(> input[type="color"]),
  .planning-item-form > .form-grid > [data-calculated-schedule] { grid-column: span 2; }
  .planning-item-form > .form-grid > .jira-feature.full { grid-column: 1 / -1; }
  .work-package-form .planning-section-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .work-package-form .planning-classification label:has(> select[name="projectId"]),
  .work-package-form .planning-classification label:has(> input[name="wbsCode"]),
  .work-package-form .planning-classification [data-parent-work-package-field],
  .work-package-form .planning-description [data-plan-item-name],
  .work-package-form .planning-description label:has(> input[name="labelText"]),
  .work-package-form .planning-description [data-primary-plan-entry]:has(> select),
  .work-package-form .planning-description [data-plan-status],
  .work-package-form .planning-schedule [data-planning-aggregation-mode],
  .work-package-form .planning-schedule label:has(> select[name="leadOwner"]) { grid-column: span 3; }
  .work-package-form .planning-description label:has(> textarea[name="shortDescription"]) { grid-column: span 6; }
  .program-shared-form .shared-plan-item-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .program-shared-form [data-program-item-name],.program-shared-form [data-primary-plan-entry]:has(> input) { grid-column: span 3; }
  .program-shared-form [data-program-item-type],.program-shared-form [data-program-item-order],.program-shared-form [data-program-text-position],.program-shared-form [data-shared-activity-date],.program-shared-form [data-shared-milestone-date],.program-shared-form label:has(> input[type="color"]) { grid-column: span 2; }
  .program-shared-form .additional-bars-editor { grid-column: span 6; }
}

@media (max-width: 760px) {
  .project-holiday-import { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-holiday-import > label:first-child, .project-holiday-import > button { grid-column: 1 / -1; }
  .planning-item-form > .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-item-form > .form-grid > label,
  .planning-item-form > .form-grid > [data-plan-phase],
  .planning-item-form > .form-grid > [data-sap-activate-phase],
  .planning-item-form > .form-grid > [data-parent-work-package-field],
  .planning-item-form > .form-grid > [data-primary-plan-entry],
  .planning-item-form > .form-grid > [data-plan-status],
  .planning-item-form > .form-grid > [data-plan-range],
  .planning-item-form > .form-grid > [data-plan-milestone],
  .planning-item-form > .form-grid > [data-plan-progress],
  .planning-item-form > .form-grid > [data-planning-aggregation-mode],
  .planning-item-form > .form-grid > [data-calculated-schedule] { grid-column: span 1; width: 100%; }
  .planning-item-form > .form-grid > .full,
  .planning-item-form .workstream-assignment,
  .planning-item-form .plan-name-row,
  .planning-item-form .additional-bars-editor,
  .planning-item-form .phase-automatic-summary { grid-column: 1 / -1; }
  .work-package-form .planning-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-package-form .planning-section-grid > label,
  .work-package-form .planning-classification [data-plan-phase],
  .work-package-form .planning-classification [data-sap-activate-phase],
  .work-package-form .planning-classification [data-parent-work-package-field],
  .work-package-form .planning-description [data-plan-item-name],
  .work-package-form .planning-description [data-primary-plan-entry],
  .work-package-form .planning-description [data-plan-status],
  .work-package-form .planning-schedule [data-plan-range],
  .work-package-form .planning-schedule [data-plan-milestone],
  .work-package-form .planning-schedule [data-plan-progress],
  .work-package-form .planning-schedule [data-planning-aggregation-mode],
  .work-package-form .planning-schedule [data-calculated-schedule] { grid-column: span 1; width: 100%; }
  .work-package-form .planning-description label:has(> textarea[name="shortDescription"]),
  .work-package-form .planning-workstreams .workstream-assignment { grid-column: 1 / -1; }
  .work-package-form .planning-description [data-plan-owner] { grid-column: span 2; }
  .program-shared-form .shared-plan-item-grid { grid-template-columns: minmax(0,1fr); }
  .program-shared-form .shared-plan-item-grid > * { grid-column: 1 / -1 !important; }
  .work-package-manage-toolbar { align-items: stretch; flex-direction: column; }
  .work-package-manage-toolbar label { width: 100%; }
  .work-package-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 520px) {
  .planning-item-form > .form-grid { grid-template-columns: minmax(0, 1fr); }
  .planning-item-form > .form-grid > * { grid-column: 1 / -1 !important; }
}
.gantt-card { padding: 12px; }
.gantt-row-label, .gantt-row-sap, .gantt-row-status, .gantt-row-responsible, .gantt-row-jira, .gantt-line { min-height: 32px; }
.gantt-row-label { padding-top: 6px; padding-bottom: 6px; font-size: 13px; }
.gantt-line:hover, .gantt-row-label:hover { background-color: #eef6fc; }
.gantt-bar { top: 8px; height: 16px; border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.14); }
.gantt-bar.phase-bar { top: 7px; height: 18px; }
.gantt-progress { top: 26px; height: 3px; }
.gantt-milestone { top: 10px; width: 10px; height: 10px; box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(31,52,73,.25); }
.gantt-dependency-path { stroke-width: 1.25; opacity: .65; }
.gantt-dependency-path:hover, .gantt-dependency-path:focus, .gantt-dependency-path.active { stroke-width: 2.5; }
.gantt-legend { gap: 12px; margin-top: 10px; font-size: 12px; font-weight: 500; }
.mobile-plan-view-switch, .project-plan-mobile-view { display: none; }

dialog, .pcc-dialog, .pcc-side-panel { border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-panel); background: var(--pcc-surface); box-shadow: var(--pcc-shadow-overlay); }
dialog::backdrop { background: rgba(20,34,48,.38); }

@media (max-width: 1100px) {
  .shell-icon-button { display: inline-grid; place-items: center; }
  .side-nav {
    position: fixed; top: var(--pcc-shell-height); bottom: 0; left: 0; width: min(320px, 86vw); max-height: none; margin: 0;
    border-right: 1px solid var(--pcc-border); border-bottom: 0; transform: translateX(-105%); transition: transform .16s ease;
  }
  body.navigation-open { overflow: hidden; }
  body.navigation-open .side-nav { transform: translateX(0); box-shadow: var(--pcc-shadow-overlay); }
  .main-content, body.logged-out .main-content { margin-left: 0; padding: 64px 16px 22px; }
  .page-header { margin-bottom: 10px; }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-plan-filter-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pcc-table [data-priority="3"] { display: none; }
  .gantt-wrap { position: relative; }
  .gantt-row-label, .gantt-label-head { position: sticky; left: 0; z-index: 5; }
  .profile-form { grid-template-columns: 1fr; }
  .profile-section { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .shell-project-selector span, #densityButton, #profileButton { display: none !important; }
  .shell-project-selector { max-width: 220px; padding-left: 5px; border-left: 0; }
  .shell-project-selector select { width: 200px; min-width: 120px; }
  .form-grid, .permission-grid, .master-data-grid, .dashboard-grid, .overview-panels, .profile-option-grid { grid-template-columns: 1fr; }
  label:has(input[type="date"]), label:has(input[type="number"]) { width: 100%; }
  .project-plan-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-header { align-items: flex-start; flex-wrap: wrap; }
  .pcc-module-header-actions { flex: 1 1 100%; justify-content: flex-start; }
  .pcc-table [data-priority="2"] { display: none; }
  .table-toolbar, .table-header-tools { align-items: stretch; }
  .table-header-tools { width: 100%; }
  .table-view-tools { flex: 1 1 100%; }
  .table-filter-label { min-width: 0; max-width: none; flex: 1 1 220px; }
}

@media (max-width: 600px) {
  .shell-bar { flex-wrap: nowrap; height: var(--pcc-shell-height); padding: 0 8px; }
  .brand span:last-child { display: none; }
  .language-switch { width: 92px; min-width: 92px; }
  .shell-project-selector { max-width: 138px; }
  .shell-project-selector select { width: 138px; min-width: 100px; }
  .session-countdown { order: initial; width: auto; min-width: 52px; padding: 3px 6px; }
  .session-countdown-icon, #sessionCountdownLabel { display: none; }
  .main-content, body.logged-out .main-content { padding: 60px 8px 16px; }
  .page-header { min-height: 0; margin-bottom: 8px; padding-block: 7px 9px; }
  .page-header .subtitle { display: block; }
  .pcc-module-header-actions { width: 100%; }
  h1 { font-size: 18px; }
  h2 { font-size: 16px; }
  .card, .kpi, .login-card { border-radius: var(--pcc-radius-panel); padding: 10px; }
  .card-header { align-items: stretch; padding-bottom: 7px; }
  .form-actions { flex-direction: row; justify-content: flex-end; }
  .form-actions .button { width: auto; flex: 0 1 auto; }
  .form-actions .button.primary { margin-left: auto; }
  .button { min-height: 38px; }
  .button.small { min-height: 34px; }
  .project-plan-filter-grid { grid-template-columns: 1fr 1fr; }
  .project-plan-filter-footer { max-height: 180px; overflow: auto; }
  .project-plan-status-filter { min-width: 0; }
  .project-plan-filter-popover { position: fixed; inset: auto 8px 8px; max-height: 70vh; overflow: auto; }

  .pcc-table { min-width: 0; }
  .pcc-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .pcc-table, .pcc-table tbody { display: block; }
  .pcc-table tbody tr:not(.table-empty-state) { display: block; margin: 0 0 8px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface); }
  .pcc-table tbody tr:not(.table-empty-state) td { display: grid; grid-template-columns: minmax(96px, 38%) minmax(0, 1fr); gap: 8px; width: 100%; height: auto; min-height: 38px; padding: 8px; border-bottom: 1px solid #eceeef; background: transparent; white-space: normal; }
  .pcc-table tbody tr:not(.table-empty-state) td::before { content: attr(data-label); color: var(--pcc-muted); font-size: 12px; font-weight: 600; }
  .pcc-table tbody tr:not(.table-empty-state) td[data-priority="3"] { display: none; }
  .pcc-table .actions-cell { display: flex !important; justify-content: flex-end; }
  .pcc-table .actions-cell::before { display: none; }
  .table-wrap { border: 0; background: transparent; overflow: visible; }
  .fast-edit-save-bar { bottom: 4px; flex-direction: column; align-items: stretch; }
  .fast-edit-save-bar > div { justify-content: flex-end; }

  .mobile-plan-view-switch { display: flex; justify-content: flex-end; gap: 4px; margin-bottom: 8px; }
  .project-plan-mobile-view { display: block; }
  .mobile-mode-list .project-plan-desktop-timeline { display: none; }
  .mobile-mode-timeline .project-plan-mobile-view { display: none; }
  .mobile-project-plan-list { display: grid; gap: 7px; }
  .mobile-plan-item { display: grid; gap: 7px; padding: 9px; border: 1px solid var(--pcc-border); border-left: 4px solid var(--workstream-color, var(--pcc-primary)); border-radius: var(--pcc-radius-control); background: var(--pcc-surface); }
  .mobile-plan-item:focus, .mobile-plan-item:active { background: var(--pcc-primary-soft); }
  .mobile-plan-heading { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 4px 7px; }
  .mobile-plan-heading strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-plan-heading .pcc-status { grid-column: 2; justify-self: start; }
  .mobile-plan-type { color: var(--pcc-muted); font-size: 11px; font-weight: 600; }
  .mobile-plan-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; color: var(--pcc-muted); font-size: 12px; }
  .workstream-chip { padding-left: 6px; border-left: 3px solid var(--workstream-color); }
  .mobile-plan-progress > span { display: flex; justify-content: space-between; font-size: 12px; }
  .mobile-plan-progress > div { height: 5px; margin-top: 3px; border-radius: 3px; overflow: hidden; background: #e7eaed; }
  .mobile-plan-progress i { display: block; height: 100%; }
  .mobile-mode-timeline .project-plan-desktop-timeline { display: block; overflow-x: auto; }
  .mobile-mode-timeline .gantt-wrap { min-width: calc(220px + var(--timeline-width,760px)); grid-template-columns: 220px minmax(var(--timeline-width,760px),1fr); }
  .mobile-mode-timeline .gantt-row-label, .mobile-mode-timeline .gantt-label-head { width: 220px; }
}

@media (max-width: 390px) {
  .language-switch { display: none !important; }
  .project-plan-filter-grid { grid-template-columns: 1fr; }
  .form-actions { flex-wrap: wrap; }
  .form-actions .button { flex: 1 1 auto; }
  .table-header-tools { flex-direction: column; }
  .table-quick-edit-toggle { width: 100%; }
}

.contextual-help-admin-toolbar { padding-block: 12px; }
.contextual-help-admin-toolbar .form-grid { grid-template-columns: minmax(180px,.4fr) minmax(260px,1fr); }
.contextual-help-admin-list { display: grid; gap: 10px; }
.contextual-help-admin-entry { margin: 0; padding: 0; overflow: hidden; }
.contextual-help-admin-entry > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 10px 14px; cursor: pointer; list-style: none; }
.contextual-help-admin-entry > summary::-webkit-details-marker { display: none; }
.contextual-help-admin-entry > summary::after { content: "▾"; color: var(--pcc-muted); transition: transform .15s ease; }
.contextual-help-admin-entry[open] > summary { border-bottom: 1px solid var(--pcc-border); background: var(--pcc-primary-soft); }
.contextual-help-admin-entry[open] > summary::after { transform: rotate(180deg); }
.contextual-help-admin-heading { display: grid; grid-template-columns: auto minmax(140px,auto) minmax(0,1fr); align-items: center; gap: 8px; min-width: 0; }
.contextual-help-admin-heading code { overflow: hidden; color: var(--pcc-muted); text-overflow: ellipsis; white-space: nowrap; }
.contextual-help-app-badge, .contextual-help-admin-meta span { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 7px; border-radius: 99px; background: #eaf4ff; color: var(--pcc-primary); font-size: 11px; font-weight: 800; }
.contextual-help-admin-meta { display: flex; gap: 5px; margin-left: auto; }
.contextual-help-admin-meta span { background: #eef1f4; color: var(--pcc-muted); }
.contextual-help-admin-body { padding: 10px 14px 12px; }
.contextual-help-admin-field { display: grid; grid-template-columns: minmax(150px,.65fr) repeat(2,minmax(220px,1fr)); gap: 10px; align-items: start; padding: 9px 0; border-bottom: 1px solid #edf0f2; }
.contextual-help-admin-field > div { min-width: 0; padding-top: 5px; }
.contextual-help-admin-field > div strong, .contextual-help-admin-field > div small { display: block; }
.contextual-help-admin-field > div small { margin-top: 3px; overflow: hidden; color: var(--pcc-muted); text-overflow: ellipsis; white-space: nowrap; }
.contextual-help-admin-field textarea { min-height: 54px; resize: vertical; }
.contextual-help-admin-actions { display: flex; align-items: center; gap: 8px; padding-top: 11px; }
.contextual-help-admin-actions [data-help-entry-result] { color: var(--pcc-muted); font-size: 13px; font-weight: 700; }

@media (max-width: 980px) {
  .program-management-grid { grid-template-columns: 1fr; }
  .program-list-card { max-height: none; }
  .program-list { max-height: 300px; }
  .contextual-help-admin-field { grid-template-columns: 140px 1fr 1fr; }
}

@media (max-width: 760px) {
  .program-form-grid, .contextual-help-admin-toolbar .form-grid { grid-template-columns: 1fr; }
  .program-selection-toolbar { grid-template-columns: 1fr; }
  .program-card { grid-template-columns: 1fr; }
  .program-card-actions { justify-content: flex-end; }
  .contextual-help-admin-entry > summary { align-items: flex-start; }
  .contextual-help-admin-heading { grid-template-columns: auto minmax(0,1fr); }
  .contextual-help-admin-heading code { grid-column: 1 / -1; }
  .contextual-help-admin-meta { display: none; }
  .contextual-help-admin-field { grid-template-columns: 1fr; }
  .contextual-help-admin-field > div small { white-space: normal; }
  .contextual-help-admin-actions { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* PCC login ---------------------------------------------------------------
   Two-panel layout based on the supplied login reference. */
body.logged-out { background: #eef2f6; }
body.logged-out .shell-bar { display: none; }
body.logged-out.login-header-visible .shell-bar { display: flex; }
body.logged-out.login-header-visible .main-content { padding-top: calc(var(--pcc-shell-height) + var(--pcc-login-page-gap)); }
body.logged-out .main-content {
  --pcc-login-page-gap: clamp(16px, 4vw, 56px);
  display: flex; align-items: center; justify-content: center; min-height: 100vh; min-height: 100dvh; margin: 0;
  padding: var(--pcc-login-page-gap); background: radial-gradient(circle at top right, #f9fbfd 0, #eef2f6 55%, #e9eef3 100%);
}
body.logged-out #overview { display: none; }
body.logged-out .module-content { width: 100%; }
.pcc-login {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: min(1120px, 100%); min-height: min(680px, calc(100dvh - var(--pcc-login-page-gap) - var(--pcc-login-page-gap))); margin: 0 auto;
  overflow: hidden; border: 1px solid #d2dbe4; border-radius: 16px;
  background: var(--pcc-surface); box-shadow: 0 24px 64px rgba(29, 45, 62, .15);
}
.pcc-login-branding, .pcc-login-panel { min-width: 0; padding: clamp(32px, 5vw, 72px); }
.pcc-login-branding {
  display: flex; flex-direction: column; color: #fff;
  background: linear-gradient(145deg, #102b49 0%, #123d65 52%, #176395 100%);
}
.pcc-login-wordmark { display: flex; align-items: center; gap: 14px; color: #fff; font-size: clamp(20px, 2.1vw, 28px); font-weight: 700; }
.pcc-login-wordmark > span { min-width: 0; }
.pcc-login-wordmark-secondary { font-size: .72em; font-weight: 600; }
.pcc-login-wordmark small { display: block; margin-top: 2px; font-size: 12px; font-weight: 500; letter-spacing: .02em; }
.brand-secondary { font-size: .78em; font-weight: 500; }
.pcc-login-mark {
  display: inline-grid; place-items: center; width: 52px; height: 52px;
  border: 1px solid rgba(255,255,255,.75); border-radius: 10px; color: #fff;
  font-size: 13px; font-weight: 800; letter-spacing: .05em;
}
.pcc-login-logo-image { display: block; width: 52px; height: 52px; border-radius: 10px; object-fit: contain; background: rgba(255,255,255,.94); }
.pcc-login-brand-copy { margin-top: auto; margin-bottom: auto; }
.pcc-login-kicker { margin: 0 0 16px; color: #a9daf8; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pcc-login-branding h2 { max-width: 440px; margin: 0; color: #fff; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.08; letter-spacing: -.035em; }
.pcc-login-branding h2 + p { max-width: 430px; margin: 18px 0 0; color: #d8e8f5; font-size: 16px; line-height: 1.6; }
.pcc-login-branding .pcc-login-value { color: #fff; font-size: 19px; font-weight: 700; line-height: 1.35; }
.pcc-login-branding .pcc-login-value + p { max-width: 430px; margin: 10px 0 0; color: #d8e8f5; font-size: 15px; line-height: 1.5; }
.pcc-login-branding ul { display: grid; gap: 18px; margin: 38px 0 0; padding: 0; list-style: none; }
.pcc-login-branding li { display: flex; align-items: center; gap: 12px; color: #f5f9fc; font-size: 15px; font-weight: 600; }
.pcc-login-branding li span { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(115,203,255,.14); color: #8ed5ff; }
.pcc-login-panel { display: grid; align-items: center; background: #fff; }
.pcc-login-panel-content { width: min(410px, 100%); margin: 0 auto; }
.pcc-login-panel .eyebrow { margin-bottom: 12px; font-size: 12px; letter-spacing: .13em; }
.pcc-login-panel h2 { margin: 0; color: var(--pcc-text); font-size: clamp(32px, 3vw, 42px); line-height: 1.12; letter-spacing: -.035em; }
.pcc-login-panel .subtitle { margin-top: 12px; font-size: 15px; line-height: 1.5; }
.pcc-login-panel .form-card { display: grid; gap: 18px; margin-top: 34px; }
.pcc-login-panel label { gap: 8px; color: #2e4358; font-size: 13px; }
.pcc-login-panel input:not([type="checkbox"]):not([type="radio"]) { width: 100%; height: 46px; min-height: 46px; border-radius: 6px; padding: 9px 12px; font-size: 15px; }
.pcc-login-password-toggle { justify-self: start; margin-top: -8px; border: 0; padding: 2px 0; background: transparent; color: var(--pcc-primary); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; }
.pcc-login-password-toggle:hover { text-decoration: underline; text-underline-offset: 3px; }
.pcc-login-panel #loginResult:empty { display: none; }
.pcc-login-panel #loginResult .message { margin: -2px 0 0; }
.pcc-login-auth-required { display: grid; gap: 4px; margin: 20px 0 -14px; padding: 11px 12px; border-left: 4px solid var(--pcc-warning); background: #fff8e7; color: #5b3a00; }
.pcc-login-auth-required small { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pcc-login-auth-required strong { font-size: 14px; }
.pcc-login-auth-required p { margin: 0; font-size: 12px; line-height: 1.45; }
.pcc-login-panel #loginSubmit { width: 100%; min-height: 46px; border-radius: 6px; font-size: 14px; }
.pcc-login-account-note { margin: 24px 0 0; color: var(--pcc-muted); font-size: 13px; line-height: 1.55; }

@media (max-width: 760px) {
  body.logged-out .main-content { display: block; padding: 16px; }
  .pcc-login { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .pcc-login-panel { grid-column: 1; grid-row: 1; padding: 36px 28px 40px; }
  .pcc-login-branding { grid-column: 1; grid-row: 2; min-height: 430px; padding: 36px 28px; }
  .pcc-login-branding h2 { font-size: 30px; }
  .pcc-login-branding ul { margin-top: 28px; }
}

@media (max-width: 420px) {
  body.logged-out .main-content { padding: 0; }
  .pcc-login { border: 0; border-radius: 0; box-shadow: none; }
  .pcc-login-panel, .pcc-login-branding { padding-inline: 24px; }
  .pcc-login-panel { min-height: 100vh; }
  .pcc-login-branding { min-height: 100vh; }
}

/* Login screen administration ------------------------------------------- */
.login-design-form { max-width: 1440px; }
.login-design-layout { display: grid; grid-template-columns: minmax(520px, 1fr) minmax(320px, 430px); gap: 28px; align-items: start; }
.login-design-fields { display: grid; gap: 12px; }
.login-design-row { display: grid; grid-template-columns: minmax(190px, 280px) minmax(0, 1fr); gap: 18px; align-items: center; margin: 0; }
.login-design-row > span { color: #31465b; font-weight: 600; }
.login-design-row textarea { min-height: 58px; resize: vertical; }
.login-design-checkbox { grid-template-columns: auto minmax(0, 1fr); width: fit-content; }
.login-logo-upload > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.login-logo-upload small { grid-column: 1 / -1; color: var(--pcc-muted); font-weight: 500; }
.login-design-preview { position: sticky; top: calc(var(--pcc-shell-height) + 16px); display: grid; gap: 10px; }
.login-design-preview-title { color: var(--pcc-muted); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.login-design-preview-canvas { display: grid; grid-template-columns: 1fr 1fr; min-height: 300px; overflow: hidden; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-panel); background: #fff; box-shadow: var(--pcc-shadow-overlay); }
.login-design-preview-header { display: none; grid-column: 1 / -1; min-height: 28px; padding: 6px 10px; background: var(--pcc-shell); color: #fff; font-size: 10px; font-weight: 800; }
.login-design-preview-canvas.with-header .login-design-preview-header { display: block; }
.login-design-preview-brand, .login-design-preview-form { min-width: 0; padding: 22px 18px; }
.login-design-preview-brand { background: linear-gradient(145deg, #102b49, #176395); color: #fff; }
.login-design-preview-logo { display: flex; align-items: center; gap: 7px; margin-bottom: 38px; font-size: 10px; }
.login-design-preview-logo img { display: block; width: 28px; height: 28px; flex: none; border: 1px solid rgba(255,255,255,.7); border-radius: 5px; object-fit: contain; background: rgba(255,255,255,.1); }
.login-design-preview-wordmark { min-width: 0; font-size: 10px; line-height: 1.2; }
.login-design-preview-wordmark b { font-weight: 500; }
.login-design-preview-wordmark small { display: block; margin-top: 2px; font-size: 7px; }
.login-design-preview-brand > small, .login-design-preview-form > small { color: #8ed5ff; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.login-design-preview-brand h4, .login-design-preview-form h4 { margin: 7px 0; color: inherit; font-size: 15px; line-height: 1.15; }
.login-design-preview-brand p, .login-design-preview-form p { margin: 0; color: #d8e8f5; font-size: 8px; line-height: 1.4; }
.login-design-preview-brand ul { display: grid; gap: 5px; margin: 15px 0 0; padding: 0; list-style: none; font-size: 7px; }
.login-design-preview-brand li::before { content: "✓"; margin-right: 5px; color: #8ed5ff; }
.login-design-preview-form { display: flex; flex-direction: column; justify-content: center; color: var(--pcc-text); }
.login-design-preview-form > small { color: var(--pcc-primary); }
.login-design-preview-form p { color: var(--pcc-muted); }
.login-design-preview-form i { display: block; height: 20px; margin-top: 9px; border: 1px solid var(--pcc-border); border-radius: 3px; }
.login-design-preview-form button { height: 22px; margin-top: 10px; border: 0; border-radius: 3px; background: var(--pcc-primary); color: #fff; font-size: 8px; }

@media (max-width: 1100px) {
  .login-design-layout { grid-template-columns: minmax(0, 1fr); }
  .login-design-preview { position: static; }
  .login-design-preview-canvas { width: min(520px, 100%); }
}

@media (max-width: 700px) {
  .login-design-row { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .login-design-checkbox { grid-template-columns: auto minmax(0, 1fr); }
  .login-logo-upload > div { grid-template-columns: minmax(0, 1fr); }
  .login-logo-upload small { grid-column: auto; }
  .login-design-preview-canvas { grid-template-columns: minmax(0, 1fr); }
  .login-design-preview-brand { min-height: 230px; }
}

.sap-overview-grid { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: baseline; }
.sap-overview-grid strong { font-size: 1.3rem; color: var(--pcc-primary); }
.sap-next-events { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; color: var(--pcc-muted); font-size: .85rem; }
.sap-filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 14px 0; }
.sap-filter-grid label { min-width: 0; }
.sap-timeline-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 22px; margin: -14px -14px 0; padding: 12px 14px; border-bottom: 1px solid var(--pcc-border); background: var(--pcc-surface-subtle); }
.sap-timeline-heading { flex: 0 1 270px; align-self: center; }
.sap-timeline-heading h2 { margin: 0; }
.sap-timeline-heading p { margin: 3px 0 0; color: var(--pcc-muted); font-size: .8rem; }
.sap-timeline-view-controls, .sap-timeline-display { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.sap-timeline-view-controls label { display: grid; gap: 3px; font-size: .75rem; font-weight: 600; }
.sap-timeline-view-controls select { min-height: 34px; height: 34px; }
.sap-timeline-view-controls select { width: 120px; }
.sap-timeline-display { align-self: end; min-height: 34px; gap: 8px 14px; }
.sap-timeline-display .check-row { align-self: center; margin: 0; white-space: nowrap; font-size: .78rem; }
.sap-timeline-display .check-row:has(input:disabled) { opacity: .5; }
.sap-timeline-card .sap-filter-grid { max-width: 1700px; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); align-items: end; gap: 8px; margin: 10px 0 12px; }
.sap-timeline-card .sap-filter-grid select { min-height: 34px; height: 34px; }
.sap-embedded-form { padding: 0; margin: 0; border: 0; box-shadow: none; background: transparent; }
.sap-admin-form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; }
.sap-admin-form-grid > label { min-width: 0; }
.sap-admin-form-grid > .sap-form-notes { grid-column: span 3; align-self: stretch; }
@media (max-width: 1000px) {
  .sap-admin-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sap-admin-form-grid > .sap-form-notes { grid-column: span 1; }
}
@media (max-width: 600px) {
  .sap-admin-form-grid { grid-template-columns: minmax(0, 1fr); }
}
.sap-timeline-scroll { overflow-x: auto; max-width: 100%; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); }
.sap-timeline { width: 100%; min-width: calc(430px + var(--sap-timeline-width) + var(--sap-plan-extra-width, 0px)); padding-right: 160px; font-family: "72", "Segoe UI", Arial, sans-serif; font-size: 13px; }
.sap-timeline-head, .sap-timeline-row { display: grid; grid-template-columns: var(--sap-plan-grid-columns, 270px minmax(var(--sap-timeline-width), 1fr)); }
.sap-timeline-head { position: sticky; top: 0; z-index: 2; min-height: 42px; background: var(--pcc-surface-subtle); border-bottom: 1px solid var(--pcc-border); }
.sap-timeline-head > strong, .sap-timeline-label { padding: 9px 12px; border-right: 1px solid var(--pcc-border); }
.sap-timeline-column-head, .sap-timeline-detail-cell { padding: 8px 10px; border-right: 1px solid var(--pcc-border); font-size: 13px; }
.sap-timeline-detail-cell { display: flex; align-items: center; min-width: 0; overflow: hidden; color: var(--pcc-muted); text-overflow: ellipsis; white-space: nowrap; }
.sap-timeline-detail-cell a { color: var(--pcc-primary); }
.sap-timeline-scale { display: flex; }
.sap-timeline-scale span { flex: 1; min-width: 0; padding: 11px 4px; text-align: center; border-right: 1px solid var(--pcc-border); font-size: 12px; white-space: nowrap; }
.sap-timeline-row { min-height: 54px; border-bottom: 1px solid var(--pcc-border); }
.sap-system-row { min-height: calc(20px + var(--sap-event-lanes) * 22px); }
.sap-timeline-label { display: grid; gap: 3px; align-content: center; font-size: 13px; }
.sap-timeline-label small { color: var(--pcc-muted); font-size: 12px; }
.sap-timeline-track { position: relative; background: repeating-linear-gradient(to right, transparent 0, transparent calc(12.5% - 1px), var(--pcc-border) calc(12.5% - 1px), var(--pcc-border) 12.5%); }
.sap-timeline-availability, .sap-timeline-restriction, .sap-timeline-task, .sap-timeline-task-progress, .sap-timeline-task-name.outside, .sap-timeline-task-date, .sap-timeline-event, .sap-timeline-event-label, .sap-timeline-event-date { position: absolute; display: block; min-width: 4px; }
.sap-timeline-availability, .sap-timeline-restriction { top: calc(2px + var(--sap-event-lanes) * 22px); height: 16px; border-radius: 3px; }
.sap-timeline-availability { background: #8cd0a3; }
.sap-timeline-restriction { z-index: 1; background: #d92d20; }
.sap-timeline-task { top: 8px; height: 16px; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 0 6px; border-radius: 3px; background: var(--pcc-primary); color: #fff; text-decoration: none; cursor: pointer; }
.sap-timeline-task-progress { top: 26px; height: 3px; pointer-events: none; }
.sap-system-task-row { min-height: 34px; background: var(--pcc-surface-subtle); }
.sap-system-task-row .sap-timeline-label { padding: 3px 12px 3px 20px; font-size: 13px; }
.sap-timeline-task-link { display: grid; gap: 1px; min-width: 0; color: inherit; text-decoration: none; }
.sap-timeline-task-link:hover strong, .sap-timeline-task-link:focus-visible strong { text-decoration: underline; }
.sap-timeline-task-link strong, .sap-timeline-task-link small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.sap-timeline-task-link small { font-size: 12px; }
.sap-timeline-task-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; font-weight: 600; }
.sap-timeline-task-name.inside { color: #fff; }
.sap-timeline-task-name.outside { top: 9px; max-width: 190px; padding-right: 5px; color: var(--pcc-text); text-align: right; transform: translateX(-100%); pointer-events: none; }
.sap-timeline-task-date { top: 16px; padding-left: 6px; color: #344b61; white-space: nowrap; font-size: .68rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; transform: translateY(-50%); pointer-events: none; }
.sap-timeline-event, .sap-timeline-event-label, .sap-timeline-event-date { top: calc(5px + var(--sap-event-lane) * 22px); height: 18px; white-space: nowrap; font-size: 12px; line-height: 14px; }
.sap-timeline-event { z-index: 1; overflow: hidden; padding: 2px 5px; border-radius: 4px; background: #d9e9fb; color: #123d66; }
.sap-timeline-event.unavailable, .sap-timeline-event.blocking { background: #f8d7d7; color: #8d1616; }
.sap-timeline-event-label { z-index: 1; overflow: hidden; text-overflow: ellipsis; padding-top: 2px; color: #123d66; transform: translateX(calc(-100% - 4px)); }
.sap-timeline-event-date { z-index: 1; padding: 2px 0 0 4px; color: var(--pcc-muted); pointer-events: none; }
.sap-timeline-scroll.edit-dates .sap-timeline-date-editable { cursor: grab; touch-action: none; user-select: none; }
.sap-timeline-scroll.edit-dates .sap-timeline-date-editable.is-interacting { z-index: 5; cursor: grabbing; box-shadow: 0 2px 7px rgba(18,45,70,.35); }
.sap-timeline-resize-handle { position: absolute; top: 0; bottom: 0; width: 9px; z-index: 6; cursor: ew-resize; touch-action: none; }
.sap-timeline-resize-handle::after { content: ""; position: absolute; top: 2px; bottom: 2px; width: 2px; border-radius: 2px; background: #fff; box-shadow: 0 0 0 1px rgba(18,45,70,.6); }
.sap-timeline-resize-handle.start { left: 0; }
.sap-timeline-resize-handle.start::after { left: 3px; }
.sap-timeline-resize-handle.end { right: 0; }
.sap-timeline-resize-handle.end::after { right: 3px; }
.sap-timeline-date-ghost { z-index: 2 !important; opacity: .35; background: repeating-linear-gradient(135deg,#526a80 0 4px,#e4eaf0 4px 8px) !important; pointer-events: none; }
.sap-timeline-drag-preview { position: fixed; z-index: 1000; min-width: 176px; padding: 7px 9px; border-radius: 5px; background: #17324d; color: #fff; box-shadow: 0 4px 14px rgba(18,45,70,.3); font-size: .72rem; line-height: 1.25; pointer-events: none; }
.sap-timeline-drag-preview strong, .sap-timeline-drag-preview span { display: block; white-space: nowrap; }
.sap-week-matrix { display: grid; min-width: max-content; --sap-week-size: 116px; font-family: "72", "Segoe UI", Arial, sans-serif; font-size: 13px; }
.sap-week-row { display: grid; grid-template-columns: 220px repeat(var(--sap-week-count), var(--sap-week-size)); min-height: 50px; border-bottom: 1px solid var(--pcc-border); }
.sap-week-row > strong, .sap-week-label { position: sticky; left: 0; z-index: 1; display: grid; align-content: center; gap: 2px; padding: 7px 10px; background: var(--pcc-surface); border-right: 1px solid var(--pcc-border); }
.sap-week-label small, .sap-week-head small { color: var(--pcc-muted); font-size: 12px; }
.sap-week-head { position: sticky; top: 0; z-index: 3; background: var(--pcc-surface-subtle); }
.sap-week-head > strong { z-index: 4; background: var(--pcc-surface-subtle); }
.sap-week-head > span, .sap-week-cell { min-width: 0; padding: 5px; border-right: 1px solid var(--pcc-border); }
.sap-week-head > span { display: grid; align-content: center; text-align: center; }
.sap-week-cell { display: grid; align-content: center; gap: 3px; }
.sap-week-system { background: var(--pcc-surface-subtle); }
.sap-week-system .sap-week-label { background: var(--pcc-surface-subtle); }
.sap-week-task { min-height: 42px; }
.sap-week-task .sap-week-label { padding-left: 22px; }
.sap-week-chip { display: block; overflow: hidden; padding: 3px 5px; border-radius: 4px; background: #d9e9fb; color: #123d66; font-size: .7rem; line-height: 1.25; }
.sap-week-chip.restricted { background: #f8d7d7; color: #8d1616; }
.sap-week-chip.activity { background: #e2e0ff; color: #30276b; }
.sap-assignment-remove { border: 0; background: transparent; color: inherit; cursor: pointer; font-weight: 700; }
.sap-recommendations > summary { cursor: pointer; font-size: 1rem; font-weight: 700; }
.sap-recommendations > summary span { margin-left: 5px; color: var(--pcc-muted); font-size: .8rem; }
.sap-recommendations > p { margin: 10px 0 0; color: var(--pcc-muted); font-size: .85rem; }
.sap-administration-detail > summary { cursor: pointer; font-size: 1rem; font-weight: 700; }
.sap-administration-detail > summary span { margin-left: 5px; color: var(--pcc-muted); font-size: .8rem; }
.sap-administration-detail[open] > summary { margin-bottom: 12px; }
.sap-form-notes { padding: 0; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface-subtle); }
.sap-form-notes > summary { cursor: pointer; padding: 10px 12px; font-weight: 700; }
.sap-form-notes[open] > summary { border-bottom: 1px solid var(--pcc-border); }
.sap-form-notes > .form-grid { padding: 12px; }
.sap-event-type { display: block; color: var(--pcc-muted); }
.sap-system-badge, .sap-conflict-count { display: inline-flex; align-items: center; margin: 2px 3px; padding: 2px 5px; border-radius: 4px; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.sap-system-badge { background: #e4f0ff; color: #145d9b; }
.sap-system-badge.conflict, .sap-conflict-count { background: #fff0d1; color: #8f3c00; }
.sap-requirement-list, .sap-conflict-list, .sap-system-choices { display: grid; gap: 8px; }
.sap-requirement-list article[hidden] { display: none; }
.sap-list-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 10px; margin: 12px 0; }
.sap-list-filters label { min-width: 0; }
.sap-list-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; color: var(--pcc-muted); }
.sap-list-pager .form-actions { margin: 0; }
.sap-requirement-list article, .sap-conflict-list article, .sap-task-conflicts article { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 15px; padding: 9px 12px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface-subtle); }
.sap-requirement-list article > a, .sap-requirement-list article > button { margin-left: auto; }
.sap-wbs-list { gap: 12px; }
.sap-wbs-group { display: grid; gap: 4px; }
.sap-wbs-group[hidden] { display: none; }
.sap-wbs-group-title { display: flex; align-items: baseline; gap: 8px; padding: 8px 10px; border-left: 3px solid var(--pcc-primary); background: #edf4fb; font-size: 13px; }
.sap-wbs-group-title span, .sap-wbs-group-title small { color: var(--pcc-muted); }
.sap-wbs-group-title small { margin-left: auto; }
.sap-wbs-rows { display: grid; gap: 3px; }
.sap-wbs-list article { display: grid; grid-template-columns: minmax(260px, 1.4fr) minmax(180px, 1fr) auto; gap: 10px; min-height: 43px; padding: 5px 10px; background: #fff; font-size: 13px; }
.sap-wbs-identity { display: grid; grid-template-columns: 55px minmax(0, 1fr); align-items: center; gap: 6px; min-width: 0; }
.sap-wbs-subtask { padding-left: 20px; }
.sap-wbs-milestone { padding-left: 20px; }
.sap-wbs-code { color: var(--pcc-muted); font-variant-numeric: tabular-nums; font-size: 12px; }
.sap-wbs-identity > div { display: grid; min-width: 0; }
.sap-wbs-identity a { overflow: hidden; color: var(--pcc-text); text-overflow: ellipsis; white-space: nowrap; text-decoration: none; }
.sap-wbs-identity a:hover { color: var(--pcc-primary); text-decoration: underline; }
.sap-wbs-identity small, .sap-wbs-unassigned { color: var(--pcc-muted); font-size: 12px; }
.sap-wbs-systems { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; min-width: 0; }
.sap-wbs-edit { white-space: nowrap; font-size: 12px; }
@media (max-width: 760px) { .sap-wbs-list article { grid-template-columns: minmax(0, 1fr) auto; } .sap-wbs-systems { grid-column: 1 / -1; grid-row: 2; } .sap-wbs-edit { grid-column: 2; grid-row: 1; } }
.sap-conflict-list article, .sap-task-conflicts article { display: grid; }
.sap-conflict-critical { border-left: 4px solid #bb0000 !important; }
.sap-conflict-warning { border-left: 4px solid #e9730c !important; }
.sap-task-requirements { grid-column: 1 / -1; }
.sap-system-choices { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 10px 0; }
.sap-task-save { display: flex; justify-content: flex-end; margin: 8px 0; }
.sap-system-choice { display: grid; gap: 4px; padding: 8px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); }
.sap-system-choice label { min-width: 0; }
.sap-system-choice select { width: 100%; }
.sap-assignment-feedback:not(:empty), [data-sap-assignment-feedback]:not(:empty) { margin: 8px 0 0; color: var(--pcc-success, #107e3e); }
.sap-assignment-feedback.pending { color: var(--pcc-muted); }
.sap-assignment-feedback.danger-message, [data-sap-assignment-feedback].danger-message { color: var(--pcc-error, #bb0000); }
.sap-task-conflicts { margin-top: 12px; }
@media (max-width: 700px) { .sap-timeline { --sap-plan-label-width: 190px; min-width: calc(350px + var(--sap-timeline-width) + var(--sap-plan-extra-width, 0px)); } }
@media (max-width: 600px) { .sap-timeline-toolbar { margin: -10px -10px 0; padding: 10px; } .sap-timeline-heading { flex-basis: 100%; } .sap-timeline-card .sap-filter-grid { grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); } }

.project-plan-import-wizard { margin-top: 24px; border-top: 1px solid var(--pcc-border); padding-top: 18px; }
.import-steps { display: grid; grid-template-columns: repeat(7,minmax(90px,1fr)); gap: 6px; overflow-x: auto; margin: 0 0 16px; padding: 0; list-style: none; }
.import-steps li { min-width: 90px; padding: 7px 9px; border-radius: var(--pcc-radius-control); background: var(--pcc-surface-subtle); color: var(--pcc-muted); font-size: .75rem; font-weight: 700; text-align: center; }
.import-step { margin: 10px 0; padding: 14px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); background: var(--pcc-surface); }
.import-step h3 { margin: 0 0 12px; font-size: 1rem; }
.import-mapping-table select { min-width: 160px; }
.project-plan-json-option { margin-top: 16px; padding: 12px 14px; border: 1px solid var(--pcc-border); border-radius: var(--pcc-radius-control); }
.project-plan-json-option summary { cursor: pointer; color: var(--pcc-primary); font-weight: 700; }
.project-plan-json-option[open] > .form-grid { margin-top: 12px; }
.import-stat-grid { display: grid; grid-template-columns: repeat(5,minmax(90px,1fr)); gap: 8px; margin-bottom: 10px; }
.import-stat-grid strong { display: grid; gap: 2px; padding: 10px; border-radius: var(--pcc-radius-control); background: var(--pcc-surface-subtle); font-size: 1.25rem; }
.import-stat-grid small { color: var(--pcc-muted); font-size: .72rem; font-weight: 600; }
.import-stat-grid .success { border-left: 4px solid #107e3e; }
.import-stat-grid .warning { border-left: 4px solid #e9730c; }
.import-stat-grid .danger { border-left: 4px solid #bb0000; }
.import-detail-grid { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 8px 0 12px; color: var(--pcc-muted); font-size: .82rem; }
.import-issue { display: block; margin: 2px 0; font-size: .75rem; }
.import-issue.error { color: #bb0000; }
.import-issue.warning { color: #8f3c00; }
.import-row-error { background: #fff4f4; }
.import-row-warning { background: #fff9eb; }
.import-preview-filters { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(2,minmax(130px,1fr)) auto; gap: 8px; align-items: end; margin: 12px 0 8px; }
.import-preview-filters label { margin: 0; }
.import-preview-filters input, .import-preview-filters select { width: 100%; }
.import-preview-filters #projectPlanPreviewCount { align-self: end; padding-bottom: 8px; white-space: nowrap; }
.import-preview-table { max-height: 560px; overflow: auto; }
.import-preview-table th { position: sticky; top: 0; z-index: 1; background: var(--pcc-surface-subtle); }
@media (max-width: 900px) { .import-preview-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .import-stat-grid { grid-template-columns: repeat(2,1fr); } }
