:root { --side-nav-width:68px; }
html[data-nav-labels="on"] { --side-nav-width:184px; }
.app-side-navigation { position:fixed; z-index:90; left:0; top:58px; bottom:0; width:var(--side-nav-width); box-sizing:border-box; padding:14px 9px; display:flex; flex-direction:column; gap:4px; overflow:visible; background:var(--card-background, var(--color-content-bg)); border-right:1px solid var(--border-color, var(--color-border)); box-shadow:2px 0 14px color-mix(in srgb, var(--color-text-primary) 4%, transparent); }
.app-side-navigation a, .app-side-toggle, .app-side-group summary { min-height:38px; display:flex; align-items:center; gap:12px; padding:0 13px; border:0; border-radius:10px; background:transparent; color:var(--text-color, var(--color-text-primary)); text-decoration:none; white-space:nowrap; font:inherit; font-size:13px; cursor:pointer; }
.app-side-navigation a:hover, .app-side-navigation a.is-active { background:var(--color-table-header); color:var(--color-primary); }
.app-side-navigation .ui-icon { display:inline-flex !important; align-items:center; justify-content:center; width:20px; height:22px; flex:0 0 20px; font-size:17px; line-height:1; }
html[data-nav-labels="off"] .app-side-navigation > a > span:not(.ui-icon), html[data-nav-labels="off"] .app-side-toggle > span, html[data-nav-labels="off"] .app-side-group summary > span:not(.ui-icon) { display:none; }
.app-side-group { position:relative; }
.app-side-group summary { list-style:none; }
.app-side-group summary::-webkit-details-marker { display:none; }
.app-side-group-menu { position:absolute; left:calc(100% + 9px); bottom:0; width:180px; padding:8px; border:1px solid var(--border-color,var(--color-border)); border-radius:12px; background:var(--card-background,var(--color-content-bg)); box-shadow:0 10px 28px color-mix(in srgb, var(--color-text-primary) 18%, transparent); }
.app-side-group-menu a { min-height:36px; }
@media (max-height:650px) { .app-side-navigation { gap:1px; padding-block:6px; } .app-side-navigation > a, .app-side-toggle, .app-side-group summary { min-height:32px; } }
html[data-nav-side="on"] .content { box-sizing:border-box; width:calc(100% - var(--side-nav-width)); margin-left:var(--side-nav-width); margin-right:0; }
html[data-nav-side="on"] .app-footer { margin-left:var(--side-nav-width); }
html[data-nav-side="off"] .app-side-navigation { display:none; }
html[data-nav-top="off"] .app-header { display:none !important; }
html[data-nav-top="off"] .app-side-navigation { top:0; }
html[data-nav-top="on"] .app-side-navigation { top:58px; }
.app-side-brand { margin-bottom:6px; font-weight:700 !important; }
.app-side-tools-menu { width:255px; padding:12px; }
.app-side-tools-menu form { display:grid; grid-template-columns:1fr auto; gap:7px; margin-bottom:9px; }
.app-side-tools-menu label { grid-column:1 / -1; font-size:12px; font-weight:700; }
.app-side-tools-menu input { min-width:0; padding:6px; border:1px solid var(--color-border); border-radius:6px; }
.app-side-tools-menu form button { border:0; border-radius:6px; background:var(--color-primary); color:var(--color-on-primary); padding:0 9px; }
.app-side-tools-menu .app-side-action { width:100%; min-height:34px; display:flex; align-items:center; gap:9px; padding:4px 7px; border:0; border-radius:6px; background:transparent; text-align:left; font:inherit; cursor:pointer; }
.app-side-tools-menu .app-side-action:hover { background:var(--color-table-header); }
.app-side-alerts { border-top:1px solid var(--color-border); padding-top:9px; margin-top:7px; font-size:12px; }
.app-side-alerts strong { display:block; margin-bottom:6px; }
.app-side-alerts a { min-height:0; padding:7px 3px; white-space:normal; }
#sideAlertsBadge { width:6px; height:6px; margin-left:auto; border-radius:50%; background:var(--color-danger); }
#sideAlertsBadge[hidden] { display:none; }
@media (max-width:700px) { html[data-nav-labels="on"] { --side-nav-width:148px; } }

.dev-tracks-page .dev-sidebar-row.is-child-row, .dev-tracks-page .dev-timeline-lane.is-child-lane { background-color:var(--color-table-header) !important; }
.dev-tracks-page .dev-sidebar-row.is-child-row:hover, .dev-tracks-page .dev-timeline-lane.is-child-lane:hover { background-color:var(--color-table-header) !important; }
.dev-tracks-page .dev-sidebar-row.is-child-row .dev-task-owner-pill { padding-left:27px !important; }
[data-theme="dark"] .dev-tracks-page .dev-sidebar-row.is-child-row, [data-theme="dark"] .dev-tracks-page .dev-timeline-lane.is-child-lane { background-color:var(--color-card-bg) !important; }
.dev-tracks-page .dev-bg-week-column { border-right:1px solid color-mix(in srgb, var(--color-border) 22%, transparent) !important; }
.dev-tracks-page .dev-bg-week-column.is-current-week { background:color-mix(in srgb, var(--color-primary) 7.5%, transparent) !important; }
.dev-tracks-page .dev-gantt-bar { border-radius:7px !important; box-shadow:0 2px 7px color-mix(in srgb, var(--color-text-primary) 16%, transparent) !important; }
.dev-tracks-page .dev-bar-plan { box-shadow:none !important; }
.timeline-bg-day-column.is-weekend { background:color-mix(in srgb, var(--color-primary) 6.5%, transparent) !important; }
.timeline-bg-day-column.is-today { background:color-mix(in srgb, var(--color-danger) 7%, transparent) !important; }
.timeline-task-bar { border-radius:8px !important; box-shadow:0 2px 7px color-mix(in srgb, var(--color-text-primary) 19%, transparent) !important; }
.timeline-lane-row:nth-child(even) { background-color:color-mix(in srgb, var(--color-primary) 2.5%, transparent); }

.system-dashboard-hero { padding:18px 24px !important; gap:16px !important; }
.system-dashboard-hero h1 { margin:4px 0 !important; }
.system-dashboard-hero p { margin:4px 0 !important; }
.system-dashboard-quick-actions { gap:7px !important; }
.system-dashboard-quick-actions a { min-height:36px !important; padding:7px 10px !important; }
.dashboard-work-row { gap:12px !important; }

.work-report-detail { max-width:1100px !important; margin-inline:auto !important; padding:28px 38px !important; background:var(--color-content-bg) !important; box-shadow:0 12px 32px color-mix(in srgb, var(--color-text-primary) 12%, transparent) !important; }
.work-report-detail .report-main-section { border-radius:0 !important; border:0 !important; box-shadow:none !important; }
.work-report-detail .report-reading-content { min-height:120px; line-height:2.3 !important; background-image:radial-gradient(circle at 2px calc(2.3em - 2px), var(--color-card-bg) 1px, transparent 1.4px); background-size:8px 2.3em; }
.work-report-detail .report-reading-content p { margin:0 0 1em; }
@media print { .app-side-navigation { display:none !important; } html[data-nav-side="on"] .content { width:100%; margin:0; } .work-report-detail { max-width:none !important; padding:12mm !important; box-shadow:none !important; } }

.quick-task-dialog { width:min(660px, calc(100vw - 32px)); max-height:88vh; padding:24px; border:1px solid var(--color-border); border-radius:16px; color:var(--text-color, var(--color-text-primary)); background:var(--card-background, var(--color-content-bg)); box-shadow:0 20px 60px color-mix(in srgb, var(--color-text-primary) 25%, transparent); }
.quick-task-dialog::backdrop { background:color-mix(in srgb, var(--color-card-bg) 52%, transparent); }
.quick-task-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.quick-task-heading h3 { margin:0; }
.quick-task-heading button { border:0; background:none; font-size:26px; cursor:pointer; }

.work-calendar-toolbar { display:flex; align-items:center; gap:12px; margin:14px 0; }
.work-calendar-toolbar strong { font-size:20px; margin-right:auto; }
.work-calendar-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:16px; }
.work-calendar-grid { min-width:0; border:1px solid var(--color-border); border-radius:12px; overflow:hidden; }
.work-calendar-weekdays, .work-calendar-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.work-calendar-weekdays span { padding:10px; text-align:center; background:var(--color-table-header); font-weight:700; }
.work-calendar-day { min-height:120px; padding:7px; border-top:1px solid var(--color-border); border-right:1px solid var(--color-border); min-width:0; }
.work-calendar-day.is-other-month { background:var(--color-table-header); opacity:.62; }
.work-calendar-day.is-today .work-calendar-date { background:var(--color-primary); color:var(--color-on-primary); }
.work-calendar-date { display:inline-grid; place-items:center; width:25px; height:25px; border-radius:50%; font-size:12px; font-weight:700; }
.work-calendar-event { display:block; width:100%; margin-top:5px; padding:5px 7px; border:0; border-left:3px solid var(--color-primary); border-radius:5px; background:var(--color-table-header); text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font:inherit; font-size:12px; cursor:pointer; }
.work-calendar-event.is-test { border-left-color:var(--color-primary); background:var(--color-table-header); }
.work-calendar-event:hover { filter:brightness(.94); box-shadow:0 2px 8px color-mix(in srgb, var(--color-text-primary) 15%, transparent); }
.work-calendar-hover { position:fixed; z-index:1000; width:260px; padding:12px; border:1px solid var(--color-border); border-radius:9px; background:var(--color-content-bg); color:var(--color-text-primary); white-space:pre-wrap; line-height:1.5; box-shadow:0 8px 25px color-mix(in srgb, var(--color-text-primary) 19%, transparent); pointer-events:none; font-size:12px; }
.work-calendar-hover[hidden] { display:none; }
.work-calendar-detail { position:sticky; top:80px; align-self:start; min-height:250px; padding:20px; border:1px solid var(--color-border); border-radius:12px; overflow-wrap:anywhere; }
.work-calendar-detail small { color:var(--color-primary); }
.work-calendar-detail p { line-height:1.7; white-space:pre-wrap; }
@media (max-width:950px) { .work-calendar-layout { grid-template-columns:1fr; } .work-calendar-detail { position:static; } }

.local-login-settings { margin:20px 0; padding:20px; border:1px solid var(--color-border); border-radius:12px; }
.local-login-page { margin:0; min-height:100vh; display:grid; place-items:center; background:linear-gradient(130deg,var(--color-table-header),var(--color-table-header)); font-family:"Microsoft YaHei UI",sans-serif; color:var(--color-text-primary); }
.local-login-card { display:grid; grid-template-columns:1fr 1fr; width:min(920px,calc(100vw - 32px)); min-height:480px; overflow:hidden; border-radius:22px; background:var(--color-content-bg); box-shadow:0 24px 70px color-mix(in srgb, var(--color-text-primary) 17%, transparent); }
.local-login-art { position:relative; display:flex; flex-direction:column; justify-content:flex-end; gap:8px; padding:44px; overflow:hidden; background:linear-gradient(150deg,var(--color-selected-bg),color-mix(in srgb,var(--color-primary) 18%,var(--color-card-bg))); }
.local-login-art strong { position:relative; font-size:32px; }
.local-login-art span { position:relative; font-size:15px; color:var(--color-primary); }
.local-login-orbit { position:absolute; width:420px; height:420px; top:-110px; left:-115px; border:28px solid color-mix(in srgb, var(--color-border) 58%, transparent); border-radius:38%; transform:rotate(-28deg); box-shadow:0 0 0 28px color-mix(in srgb, var(--color-text-primary) 10%, transparent), 0 0 0 60px color-mix(in srgb, var(--color-text-primary) 38%, transparent); }
.local-login-form { display:flex; flex-direction:column; justify-content:center; padding:52px; }
.local-login-form h1 { margin:0; font-size:28px; }
.local-login-form p { margin:12px 0 34px; color:var(--color-primary); }
.local-login-form form { display:grid; gap:12px; }
.local-login-form label { font-weight:700; font-size:13px; }
.local-login-form input { height:44px; padding:0 13px; border:1px solid var(--color-border); border-radius:9px; font:inherit; }
.local-login-form button { margin-top:14px; height:46px; border:0; border-radius:9px; background:var(--color-primary); color:var(--color-on-primary); font:inherit; font-weight:700; cursor:pointer; }
.local-login-form small { margin-top:25px; color:var(--color-text-secondary); }
.local-login-error { margin-bottom:14px; color:var(--color-danger); }
@media (max-width:700px) { .local-login-card { grid-template-columns:1fr; } .local-login-art { min-height:150px; padding:25px; } .local-login-form { padding:30px; } }

/* Month board:one bar per task and week, with a compact twelve-month rail. */
.work-calendar-layout { grid-template-columns:66px minmax(0, 1fr) 300px; gap:12px; align-items:start; }
.work-calendar-months { position:sticky; top:72px; display:flex; flex-direction:column; gap:3px; padding:6px; border-radius:12px; background:var(--color-table-header); }
.work-calendar-months-year { display:flex; align-items:center; justify-content:space-between; font-size:12px; padding:4px 1px 7px; }
.work-calendar-months-year a { color:inherit; text-decoration:none; font-size:19px; }
.work-calendar-months > a { display:flex; align-items:center; justify-content:space-between; min-height:31px; padding:0 5px; border-radius:7px; color:var(--color-primary); text-decoration:none; font-size:12px; }
.work-calendar-months > a small { font-size:10px; color:var(--color-primary); }
.work-calendar-months > a:hover, .work-calendar-months > a.is-active { color:var(--color-on-primary); background:var(--color-primary); }
.work-calendar-months > a.is-active small, .work-calendar-months > a:hover small { color:var(--color-text-tertiary); }
.work-calendar-week { position:relative; }
.work-calendar-day { min-height:100%; box-sizing:border-box; }
.work-calendar-bars { position:absolute; z-index:2; top:40px; left:0; right:0; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); grid-auto-rows:26px; row-gap:4px; pointer-events:none; }
.work-calendar-event { pointer-events:auto; box-sizing:border-box; height:25px; min-width:0; width:auto; margin:0 2px; padding:3px 8px; border-radius:7px; border-left:4px solid var(--color-primary); overflow:hidden; box-shadow:0 1px 3px color-mix(in srgb, var(--color-text-primary) 12%, transparent); }
.work-calendar-event.continues-before { border-top-left-radius:0; border-bottom-left-radius:0; border-left-width:0; }
.work-calendar-event.continues-after { border-top-right-radius:0; border-bottom-right-radius:0; }
.work-calendar-event.is-selected { outline:2px solid var(--color-primary); outline-offset:1px; }
.work-calendar-event.color-0 { background:var(--color-table-header); border-left-color:var(--color-primary); color:var(--color-primary); }
.work-calendar-event.color-1 { background:var(--color-table-header); border-left-color:var(--color-success); color:var(--color-success); }
.work-calendar-event.color-2 { background:var(--color-table-header); border-left-color:var(--color-primary); color:var(--color-primary); }
.work-calendar-event.color-3 { background:var(--color-table-header); border-left-color:var(--color-warning); color:var(--color-warning); }
.work-calendar-event.color-4 { background:var(--color-table-header); border-left-color:var(--color-primary); color:var(--color-primary); }
.work-calendar-event.color-5 { background:var(--color-table-header); border-left-color:var(--color-primary); color:var(--color-primary); }
.work-calendar-event.color-6 { background:var(--color-table-header); border-left-color:var(--color-danger); color:var(--color-danger); }
.work-calendar-event.color-7 { background:var(--color-table-header); border-left-color:var(--color-success); color:var(--color-success); }
.work-calendar-event.color-8 { background:var(--color-table-header); border-left-color:var(--color-primary); color:var(--color-primary); }
.work-calendar-event.color-9 { background:var(--color-table-header); border-left-color:var(--color-danger); color:var(--color-danger); }
.work-calendar-event.color-10 { background:var(--color-table-header); border-left-color:var(--color-primary); color:var(--color-primary); }
.work-calendar-event.color-11 { background:var(--color-table-header); border-left-color:var(--color-primary); color:var(--color-primary); }
.work-calendar-event.is-selected { outline-color:currentColor; }
.work-calendar-detail { top:72px; padding:0; overflow:hidden; background:var(--card-background,var(--color-content-bg)); box-shadow:0 4px 14px color-mix(in srgb, var(--color-text-primary) 7%, transparent); }
.work-calendar-detail-header { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; padding:0 16px; border-bottom:1px solid var(--color-border); font-weight:700; }
.work-calendar-detail-open { color:var(--color-primary); font-size:12px; text-decoration:none; }
.work-calendar-detail-empty { padding:28px 17px; color:var(--color-primary); line-height:1.6; }
.work-calendar-detail-headline { display:flex; align-items:flex-start; gap:10px; padding:19px 17px 5px; }
.work-calendar-detail-headline h3 { margin:0; font-size:17px; line-height:1.45; }
.work-calendar-detail-check { color:var(--color-text-tertiary); font-size:23px; line-height:1; }
.work-calendar-detail-number { padding:0 17px 17px 47px; color:var(--color-primary); font-size:12px; }
.work-calendar-detail-meta { margin:0 16px; border-top:1px solid var(--color-border); }
.work-calendar-detail-row { display:grid; grid-template-columns:18px 56px minmax(0,1fr); align-items:start; gap:8px; padding:11px 0; border-bottom:1px solid var(--color-border); font-size:12px; }
.work-calendar-detail-row strong { font-weight:600; overflow-wrap:anywhere; }
.work-calendar-detail-icon, .work-calendar-detail-label { color:var(--color-text-secondary); }
.work-calendar-detail-row .work-calendar-status { color:var(--color-success); background:var(--color-table-header); border-radius:5px; padding:2px 6px; width:fit-content; }
.work-calendar-detail-content { padding:18px 17px 25px; }
.work-calendar-detail-content h4 { margin:0 0 10px; font-size:13px; }
.work-calendar-detail-content p { margin:0; color:var(--color-primary); font-size:12px; }
@media (max-width:1050px) { .work-calendar-layout { grid-template-columns:58px minmax(0,1fr); } .work-calendar-detail { grid-column:2; position:static; } }
@media (max-width:720px) { .work-calendar-layout { display:grid; grid-template-columns:54px minmax(0,1fr); } .work-calendar-months { position:sticky; } .work-calendar-months-year { font-size:10px; } .work-calendar-grid { overflow-x:auto; } .work-calendar-weekdays, .work-calendar-week { min-width:700px; } .work-calendar-detail { grid-column:1 / -1; margin-top:12px; } }

/* Ruled report text:borderless and aligned to the text line box. */
.work-report-detail { border:0 !important; border-top:0 !important; box-shadow:none !important; }
.work-report-detail > .report-main-section { border:0 !important; }
.work-report-detail > .report-main-section::before { display:none !important; }
.work-report-detail .report-reading-content { box-sizing:border-box; min-height:96px; padding:0 !important; border:0 !important; border-radius:0 !important; font-size:14px; line-height:32px !important; background-color:transparent !important; background-image:radial-gradient(circle at 2px 30px, var(--color-card-bg) .55px, transparent .9px) !important; background-size:6px 32px !important; background-origin:content-box; }
.work-report-detail .report-reading-content p { margin:0; line-height:32px !important; }

/* The report uses the same page width as other detail views. */
.work-report-detail { width:100% !important; max-width:none !important; margin:0 !important; padding:24px !important; box-sizing:border-box; }
.report-two-column { display:grid; grid-template-columns:minmax(290px, 34%) minmax(0, 1fr); gap:0 26px; align-items:start; }
.report-information-column, .report-writing-column, .report-resources-column { min-width:0; }
.report-information-column { grid-column:1; grid-row:1; padding:20px; background:var(--color-table-header); border-radius:10px 10px 0 0; }
.report-resources-column { grid-column:1; grid-row:2; padding:0 20px 20px; background:var(--color-table-header); border-radius:0 0 10px 10px; }
.report-writing-column { grid-column:2; grid-row:1 / span 2; padding:8px 12px 24px; }
.report-information-column .page-title-row { display:block; }
.report-information-column .page-title-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.report-information-column .report-detail-summary { display:grid !important; grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:10px !important; }
.report-information-column .report-detail-summary .detail-item { grid-column:auto !important; min-width:0; overflow-wrap:anywhere; }
.report-information-column .report-detail-summary .report-project-summary { grid-column:1 / -1 !important; }
.report-information-column .report-progress-groups { display:grid !important; grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
.report-two-column .report-main-section .requirement-major-body { padding-left:0 !important; }
.report-writing-intro { padding-bottom:18px; }
.report-writing-intro h3 { margin:0 0 8px; font-size:17px; }
.report-writing-column .report-main-section:first-of-type { border-top:0 !important; }
.app-side-tools-menu #sideAlertsList { max-height:190px; overflow-y:auto; }
@media (max-width:980px) { .report-two-column { display:flex; flex-direction:column; gap:18px; } .report-information-column, .report-writing-column, .report-resources-column { width:100%; box-sizing:border-box; } .report-information-column, .report-resources-column { border-radius:10px; } }
@media (max-width:700px) { .work-report-detail { padding:16px !important; } .report-information-column { padding:15px; } .report-writing-column { padding:0; } }

/* Calm report rail:a single surface with evenly spaced information cards. */
.work-report-detail .report-information-column, .work-report-detail .report-resources-column { background:var(--color-table-header) !important; }
.work-report-detail .report-information-column { padding:22px !important; }
.report-information-column .page-heading-icon { background:var(--color-table-header) !important; border-color:var(--color-border) !important; box-shadow:none !important; }
.report-information-column .page-title-actions { display:grid !important; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px !important; margin-top:20px !important; }
.report-information-column .page-title-actions > a, .report-information-column .page-title-actions > button, .report-information-column .page-title-actions > form { width:100%; margin:0 !important; min-width:0; }
.report-information-column .page-title-actions form button { width:100%; }
.report-information-column .page-title-actions .button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:7px 9px; box-sizing:border-box; text-align:center; font-size:12px; }
.report-information-column .report-detail-summary { margin:20px 0 0 !important; padding:8px !important; gap:0 !important; border:1px solid var(--color-border) !important; border-radius:12px !important; background:var(--color-content-bg) !important; box-shadow:0 6px 18px color-mix(in srgb, var(--color-text-primary) 5%, transparent); }
.report-information-column .report-detail-summary .detail-item { min-height:72px !important; padding:12px !important; border:0 !important; border-bottom:1px solid var(--color-border) !important; background:var(--color-content-bg) !important; }
.report-information-column .report-detail-summary .detail-item:nth-last-child(-n+2) { border-bottom:0 !important; }
.report-information-column .report-detail-summary .detail-item:nth-child(odd):not(.report-project-summary) { border-right:1px solid var(--color-border) !important; }
.report-information-column .report-detail-summary .report-project-summary { min-height:58px !important; }
.report-information-column .report-main-section { margin-top:18px !important; padding:18px !important; border:1px solid var(--color-border) !important; border-radius:12px !important; background:var(--color-content-bg) !important; box-shadow:0 6px 18px color-mix(in srgb, var(--color-text-primary) 5%, transparent) !important; }
.report-information-column .report-main-section .requirement-major-heading { margin:0 0 14px; }
.report-information-column .report-main-section .requirement-major-body { padding:0 !important; }
.report-information-column .report-section-heading { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.report-information-column .report-progress-groups { gap:8px !important; }
.report-information-column .report-progress-groups article { min-height:88px; padding:13px !important; border:1px solid var(--color-border) !important; border-radius:9px !important; background:var(--color-table-header) !important; box-shadow:none !important; }
.report-information-column .report-progress-groups article:nth-child(5) { grid-column:1 / -1; min-height:70px; }
.report-information-column .report-progress-groups article:nth-child(5) p { margin-right:16px; }
.report-information-column .report-progress-groups article strong { color:var(--color-primary); }
.report-resources-column .report-resource-section { border:1px solid var(--color-border); border-radius:12px; background:var(--color-content-bg); box-shadow:0 6px 18px color-mix(in srgb, var(--color-text-primary) 5%, transparent); }
[data-theme="dark"] .work-report-detail .report-information-column, [data-theme="dark"] .work-report-detail .report-resources-column { background:var(--color-card-bg) !important; }
[data-theme="dark"] .report-information-column .report-detail-summary, [data-theme="dark"] .report-information-column .report-detail-summary .detail-item, [data-theme="dark"] .report-information-column .report-main-section, [data-theme="dark"] .report-resources-column .report-resource-section { background:var(--color-card-bg) !important; border-color:var(--color-border) !important; }
[data-theme="dark"] .report-information-column .report-progress-groups article { background:var(--color-card-bg) !important; border-color:var(--color-border) !important; }

/* Report controls and ruled metadata cells. */
.report-information-column .page-title-actions .button { color:var(--color-primary) !important; background:var(--color-table-header) !important; border:1px solid var(--color-border) !important; box-shadow:none !important; }
.report-information-column .page-title-actions .button:hover { color:var(--color-primary) !important; background:var(--color-table-header) !important; border-color:var(--color-border) !important; }
.report-information-column .report-detail-summary { padding:0 !important; }
.report-information-column .report-detail-summary .detail-item { border-bottom:1px dashed var(--color-border) !important; }
.report-information-column .report-detail-summary .detail-item:nth-child(1), .report-information-column .report-detail-summary .detail-item:nth-child(3), .report-information-column .report-detail-summary .detail-item:nth-child(5), .report-information-column .report-detail-summary .detail-item:nth-child(8) { border-right:1px dashed var(--color-border) !important; }
.report-information-column .report-detail-summary .detail-item:nth-child(7) { border-right:0 !important; }
.report-information-column .report-detail-summary .detail-item:nth-child(8), .report-information-column .report-detail-summary .detail-item:nth-child(9) { border-bottom:0 !important; }
.report-information-column .report-main-section .requirement-major-heading { padding-left:0 !important; }
.report-writing-intro .requirement-major-heading { display:flex; align-items:center; gap:18px; margin:0 0 16px; }
.report-writing-intro .requirement-major-heading h3 { margin:0; }
.report-writing-intro .requirement-major-index { display:inline-grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border:1px solid var(--color-border); border-radius:50%; color:var(--color-success); background:var(--color-table-header); font-size:12px; font-weight:700; }

/* Raised calendar surfaces keep continuous multi-day task bars. */
.work-calendar-page { background:var(--color-table-header) !important; border:0 !important; border-radius:20px !important; padding:22px !important; box-shadow:0 12px 34px color-mix(in srgb, var(--color-text-primary) 7%, transparent) !important; }
.work-calendar-page > .page-title-row { padding:18px 20px; margin-bottom:14px; border:1px solid var(--color-border); border-radius:16px; background:var(--color-content-bg); box-shadow:0 5px 16px color-mix(in srgb, var(--color-text-primary) 5%, transparent); }
.work-calendar-toolbar { min-height:58px; padding:8px 14px; border:1px solid var(--color-border); border-radius:14px; background:var(--color-content-bg); box-shadow:0 5px 16px color-mix(in srgb, var(--color-text-primary) 5%, transparent); }
.work-calendar-toolbar strong { color:var(--color-text-primary); }
.work-calendar-months { padding:9px 7px; border:1px solid var(--color-border); border-radius:14px; background:var(--color-content-bg); box-shadow:0 7px 20px color-mix(in srgb, var(--color-text-primary) 7%, transparent); }
.work-calendar-months > a { border-radius:8px; }
.work-calendar-months > a.is-active { box-shadow:0 3px 9px color-mix(in srgb, var(--color-text-primary) 25%, transparent); }
.work-calendar-grid { border:1px solid var(--color-border); border-radius:16px; background:var(--color-content-bg); box-shadow:0 8px 24px color-mix(in srgb, var(--color-text-primary) 8%, transparent); }
.work-calendar-weekdays span { padding:13px 8px; background:var(--color-table-header); color:var(--color-primary); }
.work-calendar-day { border-color:var(--color-border); background:var(--color-content-bg); }
.work-calendar-day.is-other-month { background:var(--color-table-header); }
.work-calendar-week:hover .work-calendar-day { background-color:var(--color-table-header); }
.work-calendar-event { box-shadow:0 2px 7px color-mix(in srgb, var(--color-text-primary) 14%, transparent); font-weight:600; }
.work-calendar-event:hover { filter:brightness(.98); transform:translateY(-1px); box-shadow:0 5px 12px color-mix(in srgb, var(--color-text-primary) 20%, transparent); }
.work-calendar-detail { border:1px solid var(--color-border); border-radius:16px; background:var(--color-content-bg); box-shadow:0 8px 24px color-mix(in srgb, var(--color-text-primary) 8%, transparent); }
.work-calendar-detail-header { background:var(--color-table-header); }
[data-theme="dark"] .work-calendar-page { background:var(--color-card-bg) !important; }
[data-theme="dark"] .work-calendar-page > .page-title-row, [data-theme="dark"] .work-calendar-toolbar, [data-theme="dark"] .work-calendar-months, [data-theme="dark"] .work-calendar-grid, [data-theme="dark"] .work-calendar-detail { background:var(--color-card-bg); border-color:var(--color-border); }
[data-theme="dark"] .work-calendar-day { background:var(--color-card-bg); border-color:var(--color-border); }
[data-theme="dark"] .work-calendar-weekdays span, [data-theme="dark"] .work-calendar-detail-header { background:var(--color-card-bg); }
@media (max-width:700px) { .work-calendar-page { padding:12px !important; } .work-calendar-page > .page-title-row { padding:13px; } .work-calendar-toolbar { flex-wrap:wrap; } }

/* Unified month-board surface:the month rail acts as tabs on the calendar. */
.work-calendar-page { padding:14px !important; background:var(--color-table-header) !important; box-shadow:none !important; }
.work-calendar-frame { padding:20px; border:1px solid var(--color-border); border-radius:20px; background:var(--color-content-bg); box-shadow:0 14px 36px color-mix(in srgb, var(--color-text-primary) 10%, transparent); }
.work-calendar-frame > .page-title-row { padding:0 2px 17px; margin:0; border:0; border-bottom:1px solid var(--color-border); border-radius:0; box-shadow:none; }
.work-calendar-frame > .work-calendar-toolbar { margin:0; padding:13px 2px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.work-calendar-frame .work-calendar-layout { grid-template-columns:102px minmax(0, 1fr) 285px; gap:0; }
.work-calendar-frame .work-calendar-months { top:16px; gap:2px; padding:10px 7px; border:1px solid var(--color-border); border-right:0; border-radius:14px 0 0 14px; background:var(--color-table-header); box-shadow:none; }
.work-calendar-frame .work-calendar-months-year { font-size:13px; padding:4px 6px 10px; }
.work-calendar-frame .work-calendar-months > a { min-height:43px; padding:0 10px; border-radius:9px 0 0 9px; font-size:15px; transition:background-color .16s ease, transform .16s ease; }
.work-calendar-frame .work-calendar-months > a small { font-size:11px; }
.work-calendar-frame .work-calendar-months > a:hover { transform:translateX(2px); }
.work-calendar-frame .work-calendar-months > a.is-active { position:relative; margin-right:-8px; padding-right:18px; border-radius:9px 0 0 9px; background:var(--color-primary); box-shadow:-3px 3px 10px color-mix(in srgb, var(--color-text-primary) 18%, transparent); }
.work-calendar-frame .work-calendar-grid { border-radius:0; box-shadow:none; }
.work-calendar-frame .work-calendar-detail { margin-left:0; border-left:0; border-radius:0 14px 14px 0; box-shadow:none; }
.work-calendar-frame .work-calendar-day { background:var(--color-content-bg); }
.work-calendar-frame .work-calendar-day.is-other-month { background:var(--color-table-header); }
[data-theme="dark"] .work-calendar-frame { background:var(--color-card-bg); border-color:var(--color-border); }
[data-theme="dark"] .work-calendar-frame .work-calendar-months { background:var(--color-card-bg); }
@media (max-width:1050px) { .work-calendar-frame .work-calendar-layout { grid-template-columns:94px minmax(0, 1fr); } .work-calendar-frame .work-calendar-grid { border-radius:0 14px 14px 0; } .work-calendar-frame .work-calendar-detail { grid-column:1 / -1; margin:14px 0 0; border-left:1px solid var(--color-border); border-radius:14px; } }
@media (max-width:720px) { .work-calendar-frame { padding:12px; } .work-calendar-frame .work-calendar-layout { grid-template-columns:76px minmax(0, 1fr); } .work-calendar-frame .work-calendar-months > a { min-height:38px; font-size:13px; } .work-calendar-frame .work-calendar-grid { overflow-x:auto; } }

/* Use the same heading anatomy for all three writing sections. */
.report-writing-column .report-writing-intro { margin-top:0 !important; padding:0 !important; }
.report-writing-column .report-writing-intro > .requirement-major-heading { display:flex; gap:11px; margin:0; padding:14px 0 10px; }
.report-writing-column .report-writing-intro .requirement-major-index { display:inline-flex; flex:0 0 36px; }
.report-writing-column .report-writing-intro > .requirement-major-body { padding-top:2px !important; }

/* Legacy five-column border resets must not erase the two-column report grid. */
.work-report-detail .report-information-column .report-detail-summary .detail-item { border-right:0 !important; border-bottom:1px dashed var(--color-border) !important; }
.work-report-detail .report-information-column .report-detail-summary .detail-item:nth-child(1), .work-report-detail .report-information-column .report-detail-summary .detail-item:nth-child(3), .work-report-detail .report-information-column .report-detail-summary .detail-item:nth-child(5), .work-report-detail .report-information-column .report-detail-summary .detail-item:nth-child(8) { border-right:1px dashed var(--color-border) !important; }
.work-report-detail .report-information-column .report-detail-summary .detail-item:nth-child(8), .work-report-detail .report-information-column .report-detail-summary .detail-item:nth-child(9) { border-bottom:0 !important; }

/* Project links are grouped under the name without widening the entire table. */
.projects-list-page .project-name-cell { width:360px; min-width:310px !important; max-width:390px; }
.projects-list-page .project-name-title { font-weight:700 !important; line-height:1.45; white-space:normal; overflow-wrap:anywhere; }
.projects-list-page .project-quick-links-row { display:flex !important; flex-wrap:wrap !important; align-items:flex-start; gap:6px !important; margin-top:9px !important; white-space:normal !important; }
.projects-list-page .project-quick-link { flex:0 0 auto; min-height:25px; padding:4px 8px; border:1px solid color-mix(in srgb, var(--color-primary) 12%, transparent); border-radius:6px; white-space:nowrap; line-height:1.2; }
.projects-list-page .project-quick-link:hover { border-color:color-mix(in srgb, var(--color-primary) 30%, transparent); }

/* Keep the month board's outer card aligned with every other page. */
.work-calendar-page { padding:24px !important; border-radius:8px !important; background:var(--card-bg) !important; box-shadow:0 2px 8px color-mix(in srgb, var(--color-text-primary) 7%, transparent) !important; }
.work-calendar-frame { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.work-calendar-filter { display:flex; align-items:center; gap:7px; margin:0 8px; }
.work-calendar-filter label { white-space:nowrap; color:var(--color-primary); font-size:12px; font-weight:600; }
.work-calendar-filter select { height:34px; min-width:110px; padding:0 8px; border:1px solid var(--color-border); border-radius:7px; background:var(--card-bg, var(--color-content-bg)); color:var(--text-color, var(--color-text-primary)); font:inherit; font-size:12px; }
.work-calendar-filter .button { height:34px; padding:5px 10px; }
.work-calendar-event { display:flex; align-items:center; gap:5px; }
.work-calendar-kind-tag { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:24px; height:17px; padding:0 4px; border:1px solid currentColor; border-radius:4px; background:color-mix(in srgb, var(--color-content-bg) 68%, transparent); font-size:10px; font-weight:700; line-height:1; }
.work-calendar-event-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:720px) { .work-calendar-page { padding:16px !important; } .work-calendar-filter { order:3; width:100%; margin:4px 0 0; } }

/* Center the sidebar and main content as one workspace. */
html[data-nav-side="on"] .app-side-navigation { left:max(24px, calc((100vw - 1500px) / 2)); border:1px solid var(--border-color, var(--color-border)); border-radius:10px; }
html[data-nav-side="on"] .content { width:min(calc(100% - 48px - var(--side-nav-width)), calc(1500px - var(--side-nav-width))); max-width:none; margin:28px 0 28px calc(max(24px, (100vw - 1500px) / 2) + var(--side-nav-width)); padding:0 0 0 12px; }
html[data-nav-side="on"] .app-footer { width:min(calc(100% - 48px - var(--side-nav-width)), calc(1500px - var(--side-nav-width))); margin-left:calc(max(24px, (100vw - 1500px) / 2) + var(--side-nav-width)); box-sizing:border-box; }
@media (max-width:700px) { html[data-nav-side="on"] .app-side-navigation { left:12px; } html[data-nav-side="on"] .content { width:calc(100% - 24px - var(--side-nav-width)); margin-left:calc(12px + var(--side-nav-width)); padding-left:8px; } html[data-nav-side="on"] .app-footer { width:calc(100% - 24px - var(--side-nav-width)); margin-left:calc(12px + var(--side-nav-width)); } }
@media print { html[data-nav-side="on"] .content { width:100%; margin:0; padding:0; } }

/* The navigation ends after its last icon and shares the content's top edge. */
html[data-nav-side="on"] .app-side-navigation { bottom:auto; height:max-content; }
html[data-nav-side="on"][data-nav-top="off"] .app-side-navigation { top:28px; }
html[data-nav-side="on"][data-nav-top="on"] .app-side-navigation { top:103px; }
html[data-nav-side="on"] .content { padding-left:0; }
@media (max-width:700px) { html[data-nav-side="on"] .content { padding-left:0; } }

/* Flush top and shared seam between the navigation and the main page. */
html[data-nav-side="on"] .app-side-navigation { border-top:0; border-right:0; border-radius:10px 0 0 10px; }
html[data-nav-side="on"][data-nav-top="off"] .app-side-navigation { top:0; }
html[data-nav-side="on"][data-nav-top="on"] .app-side-navigation { top:75px; }
html[data-nav-side="on"] .content { margin-top:0; }
html[data-nav-side="on"] .content > .card { border-top:0 !important; border-top-left-radius:0 !important; border-bottom-left-radius:0 !important; }
.app-side-navigation > .app-side-toggle { margin-top:8px; }

/* Homepage:compact overview, workflow, and metrics within one viewport. */
.system-dashboard { gap:10px !important; }
.system-dashboard .system-dashboard-hero { display:grid; grid-template-columns:minmax(0, 1fr) minmax(330px, 44%); gap:14px !important; min-height:0; padding:12px 18px !important; }
.system-dashboard .system-dashboard-hero h1 { margin:1px 0 3px !important; font-size:23px; }
.system-dashboard .system-dashboard-hero p { margin:0 !important; font-size:12px; line-height:1.4; }
.system-dashboard .system-dashboard-eyebrow { font-size:10px; }
.system-dashboard .system-dashboard-quick-actions { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:5px !important; }
.system-dashboard .system-dashboard-quick-actions a { justify-content:center; min-height:29px !important; padding:4px 7px !important; font-size:11px; white-space:nowrap; }
.system-dashboard .dashboard-work-row { gap:10px !important; }
.system-dashboard .dashboard-work-row .dashboard-report-overview, .system-dashboard .dashboard-work-row .dashboard-task-overview { min-height:0; height:auto; gap:4px 10px; padding:10px 14px; align-content:start; }
.system-dashboard .dashboard-report-overview h2, .system-dashboard .dashboard-task-summary h2 { font-size:16px; }
.system-dashboard .dashboard-report-counts, .system-dashboard .dashboard-task-counts { gap:4px; }
.system-dashboard .dashboard-report-counts a, .system-dashboard .dashboard-task-counts a { padding:2px 5px; background:transparent; }
.system-dashboard .dashboard-report-counts strong, .system-dashboard .dashboard-task-counts strong { font-size:16px; }
.system-dashboard .dashboard-task-summary { gap:4px !important; }
.system-dashboard .system-card-kicker { font-size:10px; }
.system-dashboard .dashboard-task-more { font-size:11px; }
.system-dashboard .system-flow { gap:5px; }
.system-dashboard .system-flow-node { min-height:58px; padding:7px 9px; gap:7px; border-radius:8px; }
.system-dashboard .system-flow-icon { width:27px; height:27px; border-radius:7px; }
.system-dashboard .system-flow-node strong { font-size:12px; }
.system-dashboard .system-flow-node small { margin-top:1px; font-size:10px; line-height:1.25; }
.system-dashboard .system-flow-branch { gap:5px; }
.system-dashboard .system-dashboard-section-heading { margin:1px 2px -2px; gap:8px; }
.system-dashboard .system-dashboard-section-heading h2 { margin:0; font-size:16px; }
.system-dashboard .system-dashboard-section-heading span, .system-dashboard .system-dashboard-section-heading p { font-size:10px; }
.system-dashboard .system-module-grid { gap:8px; }
.system-dashboard .system-module-card { padding:10px 11px; border-top-width:2px; border-radius:8px; }
.system-dashboard .system-module-heading { gap:7px; }
.system-dashboard .system-module-icon { width:27px; height:27px; border-radius:7px; }
.system-dashboard .system-module-heading strong { font-size:12px; }
.system-dashboard .system-module-heading small { margin-top:0; font-size:10px; }
.system-dashboard .system-module-number { margin-top:8px; font-size:24px; }
.system-dashboard .system-module-label { margin-top:1px; font-size:11px; }
.system-dashboard .system-module-facts { gap:2px; margin-top:7px; padding-top:6px; font-size:10px; }
.system-dashboard .system-module-facts b { font-size:10px; }
@media (max-width:980px) { .system-dashboard .system-dashboard-hero { grid-template-columns:1fr; } .system-dashboard .system-dashboard-quick-actions { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width:1180px) { .system-dashboard .system-flow { grid-template-columns:1fr 2fr 1fr 1fr; } .system-dashboard .system-flow-arrow { display:none; } }
@media (max-width:850px) { .system-dashboard .system-flow { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:600px) { .system-dashboard .system-flow { grid-template-columns:1fr; } .system-dashboard .system-flow-branch { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:620px) { .system-dashboard .system-dashboard-quick-actions { grid-template-columns:repeat(2, minmax(0, 1fr)); } }

/* Homepage:one aligned business canvas instead of two rows of isolated cards. */
.system-dashboard.card { padding:16px; background:var(--card-bg); }
.system-dashboard .system-dashboard-hero { grid-template-columns:minmax(0, 1fr) minmax(560px, 54%); align-items:center; }
.system-dashboard .system-dashboard-quick-actions { grid-template-columns:repeat(6, minmax(0, 1fr)); }
.system-dashboard .dashboard-work-row { gap:0 !important; overflow:hidden; border:1px solid var(--border-color); border-radius:10px; background:var(--card-bg); }
.system-dashboard .dashboard-work-row .dashboard-report-overview,
.system-dashboard .dashboard-work-row .dashboard-task-overview { display:grid; grid-template-columns:minmax(0, 1fr) auto !important; grid-template-rows:auto auto; gap:9px 12px; border:0; border-radius:0; box-shadow:none; background:transparent; }
.system-dashboard .dashboard-work-row .dashboard-report-overview { border-right:1px dashed var(--border-color); }
.system-dashboard .dashboard-task-summary { display:contents; }
.system-dashboard .dashboard-report-overview > div:first-child,
.system-dashboard .dashboard-task-summary > div:first-child { grid-column:1; grid-row:1; }
.system-dashboard .dashboard-report-overview > .dashboard-task-more,
.system-dashboard .dashboard-task-overview > .dashboard-task-more { grid-column:2; grid-row:1; align-self:center; }
.system-dashboard .dashboard-report-counts,
.system-dashboard .dashboard-task-counts { display:grid; grid-column:1 / -1; grid-row:2; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:0; width:100%; border-top:1px dashed var(--border-color); padding-top:6px; }
.system-dashboard .dashboard-report-counts a,
.system-dashboard .dashboard-task-counts a { min-width:0; justify-content:center; padding:2px 4px !important; border-right:1px dashed var(--border-color); white-space:nowrap; }
.system-dashboard .dashboard-report-counts a:last-child,
.system-dashboard .dashboard-task-counts a:last-child { border-right:0; }
.system-dashboard .system-module-grid { gap:0; overflow:hidden; border:1px solid var(--border-color); border-radius:10px; background:var(--card-bg); }
.system-dashboard .system-module-card { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto auto; align-content:start; gap:5px 7px; min-height:0; padding:12px 14px; border:0; border-right:1px dashed var(--border-color); border-radius:0; background:transparent; box-shadow:none; }
.system-dashboard .system-module-card:last-child { border-right:0; }
.system-dashboard .system-module-card:hover { transform:none; background:var(--bg-alt); box-shadow:none; }
.system-dashboard .system-module-heading { grid-column:1 / -1; min-height:38px; }
.system-dashboard .system-module-heading small { white-space:normal; line-height:1.3; }
.system-dashboard .system-module-number { grid-column:1; grid-row:2; margin:2px 0 0; line-height:1.15; }
.system-dashboard .system-module-label { grid-column:2; grid-row:2; align-self:end; margin:0 0 2px; }
.system-dashboard .system-module-facts { grid-column:1 / -1; grid-row:3; margin-top:3px; padding-top:8px; border-top:1px dashed var(--border-color); }
@media (max-width:1200px) {
    .system-dashboard .system-dashboard-hero { grid-template-columns:1fr; }
    .system-dashboard .system-dashboard-quick-actions { grid-template-columns:repeat(3, minmax(0, 1fr)); }
    .system-dashboard .system-module-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
    .system-dashboard .system-module-card { border-bottom:1px dashed var(--border-color); }
    .system-dashboard .system-module-card:nth-child(3) { border-right:0; }
    .system-dashboard .system-module-card:nth-child(n + 4) { border-bottom:0; }
}
@media (max-width:760px) {
    .system-dashboard .dashboard-work-row { grid-template-columns:1fr; }
    .system-dashboard .dashboard-work-row .dashboard-report-overview { border-right:0; border-bottom:1px dashed var(--border-color); }
    .system-dashboard .system-module-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .system-dashboard .system-module-card:nth-child(3) { border-right:1px dashed var(--border-color); }
    .system-dashboard .system-module-card:nth-child(even) { border-right:0; }
    .system-dashboard .system-module-card:nth-child(4) { border-bottom:1px dashed var(--border-color); }
}
@media (max-width:520px) {
    .system-dashboard.card { padding:12px; }
    .system-dashboard .system-dashboard-quick-actions { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .system-dashboard .system-module-grid { grid-template-columns:1fr; }
    .system-dashboard .system-module-card { border-right:0 !important; border-bottom:1px dashed var(--border-color) !important; }
    .system-dashboard .system-module-card:last-child { border-bottom:0 !important; }
}

/* Homepage gradients follow the indigo theme used by the app shell. */
.system-dashboard { --primary-rgb:var(--color-primary-rgb); }
[data-theme="dark"] .system-dashboard { --primary-rgb:var(--color-primary-rgb); }
.system-dashboard .system-dashboard-hero {
    background:linear-gradient(110deg, rgba(var(--primary-rgb), .17) 0%, rgba(var(--primary-rgb), .08) 48%, var(--card-bg) 100%);
    border-color:rgba(var(--primary-rgb), .22) !important;
}
.system-dashboard .system-dashboard-section-heading {
    margin:2px 0 -2px;
    padding:7px 12px;
    border-left:3px solid var(--primary-color);
    border-radius:7px;
    background:linear-gradient(90deg, rgba(var(--primary-rgb), .12), rgba(var(--primary-rgb), .035) 62%, transparent);
}
.system-dashboard .dashboard-work-row,
.system-dashboard .system-module-grid,
.system-dashboard .system-governance-card,
.system-dashboard .system-coverage-card,
.system-dashboard .system-status-card,
.system-dashboard .system-portfolio-card,
.system-dashboard .system-activity-card {
    background:linear-gradient(135deg, rgba(var(--primary-rgb), .065), var(--card-bg) 56%);
}
.system-dashboard .system-attention-strip {
    background:linear-gradient(105deg, rgba(var(--primary-rgb), .08), var(--card-bg) 45%, rgba(var(--primary-rgb), .035));
    border-color:var(--border-color);
}
.system-dashboard .system-attention-strip > a,
.system-dashboard .system-attention-title small { color:var(--text-secondary); }

/* Narrow navigation rail with overlapping index tabs. */
:root { --side-nav-width:54px; }
html[data-nav-labels="on"] { --side-nav-width:160px; }
.app-side-navigation {
    padding:9px 5px 10px;
    gap:0;
    background:var(--card-bg);
}
.app-side-navigation > :not(:first-child) { margin-top:-4px; }
.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    position:relative;
    min-height:39px;
    border:1px solid var(--border-color);
    border-radius:9px 9px 5px 5px;
    background:linear-gradient(135deg, var(--card-bg), var(--bg-alt));
    box-shadow:0 -2px 5px color-mix(in srgb, var(--color-text-primary) 5.5%, transparent);
}
.app-side-navigation > a::before,
.app-side-navigation > .app-side-group > summary::before {
    content:"";
    position:absolute;
    left:0;
    top:7px;
    bottom:7px;
    width:2px;
    border-radius:2px;
    background:var(--primary-color);
    opacity:.25;
}
.app-side-navigation > a:hover,
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group > summary:hover,
.app-side-navigation > .app-side-group[open] > summary {
    z-index:2;
    border-color:color-mix(in srgb, var(--color-primary) 32%, transparent);
    background:linear-gradient(115deg, var(--pm-primary-soft, var(--color-table-header)), var(--card-bg));
    color:var(--primary-color);
}
.app-side-navigation > a.is-active::before,
.app-side-navigation > .app-side-group[open] > summary::before { width:3px; opacity:1; }
.app-side-navigation > .app-side-brand { z-index:3; min-height:43px; margin-bottom:5px; }
.app-side-navigation > .app-side-toggle { margin-top:7px; justify-content:center; }
html[data-nav-labels="off"] .app-side-navigation > a,
html[data-nav-labels="off"] .app-side-navigation > .app-side-group > summary,
html[data-nav-labels="off"] .app-side-navigation > .app-side-toggle { justify-content:center; gap:0; padding:0; }
html[data-nav-labels="on"] .app-side-navigation > a,
html[data-nav-labels="on"] .app-side-navigation > .app-side-group > summary,
html[data-nav-labels="on"] .app-side-navigation > .app-side-toggle { padding:0 10px; gap:9px; }
@media (max-width:700px) {
    html[data-nav-labels="on"] { --side-nav-width:140px; }
}

/* Folder index tabs, rotated into a left-side rail. */
.app-side-navigation { background:var(--pm-primary-soft, var(--color-table-header)); }
.app-side-navigation > :nth-child(1) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(2) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(3) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(4) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(5) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(6) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(7) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(8) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(9) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(10) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(11) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(12) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(13) { --tab-fill:var(--color-table-header); }
.app-side-navigation > :nth-child(14) { --tab-fill:var(--color-table-header); }
.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    isolation:isolate;
    overflow:hidden;
    border:0;
    border-radius:0;
    background:var(--color-primary);
    box-shadow:none;
    clip-path:polygon(9px 0, 100% 0, 100% 100%, 9px 100%, 0 calc(100% - 9px), 0 9px);
}
.app-side-navigation > a::before,
.app-side-navigation > .app-side-group > summary::before,
.app-side-navigation > .app-side-toggle::before {
    content:"";
    position:absolute;
    z-index:-1;
    inset:1px;
    width:auto;
    border:0;
    border-radius:0;
    background:var(--tab-fill, var(--card-bg));
    clip-path:polygon(8px 0, 100% 0, 100% 100%, 8px 100%, 0 calc(100% - 8px), 0 8px);
    opacity:1;
}
.app-side-navigation > a:hover,
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group > summary:hover,
.app-side-navigation > .app-side-group[open] > summary {
    border:0;
    background:var(--color-primary);
    color:var(--color-text-primary);
}
.app-side-navigation > a:hover::before,
.app-side-navigation > a.is-active::before,
.app-side-navigation > .app-side-group > summary:hover::before,
.app-side-navigation > .app-side-group[open] > summary::before {
    width:auto;
    background:var(--color-table-header);
    opacity:1;
}
.app-side-navigation > .app-side-toggle { --tab-fill:var(--color-table-header); }
[data-theme="dark"] .app-side-navigation > a,
[data-theme="dark"] .app-side-navigation > .app-side-group > summary,
[data-theme="dark"] .app-side-navigation > .app-side-toggle { color:var(--color-text-primary); }

/* Taller, borderless tabs with a clearer selected state. */
.app-side-navigation > :not(:first-child) { margin-top:-9px; }
.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    min-height:47px;
    background:var(--tab-fill, var(--card-bg));
}
.app-side-navigation > a::before,
.app-side-navigation > .app-side-group > summary::before,
.app-side-navigation > .app-side-toggle::before { display:none; }
.app-side-navigation > a:hover,
.app-side-navigation > .app-side-group > summary:hover { background:var(--pm-primary-soft, var(--color-table-header)); color:var(--primary-color); }
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group[open] > summary {
    z-index:5;
    background:var(--primary-color);
    color:var(--color-on-primary);
    box-shadow:none;
}
.app-side-navigation > .app-side-brand { min-height:47px; }
.app-side-navigation > .app-side-toggle { margin-top:9px; }
[data-theme="dark"] .app-side-navigation > a.is-active,
[data-theme="dark"] .app-side-navigation > .app-side-group[open] > summary { color:var(--color-on-primary); }

/* Tabs meet the page edge; the alert badge stays out of icon layout. */
.app-side-navigation { padding-right:0; }
.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    clip-path:polygon(0 0, 100% 0, 100% 100%, 9px 100%, 0 calc(100% - 9px));
}
#sideAlertsBadge {
    position:absolute;
    right:5px;
    top:50%;
    margin:0;
    transform:translateY(-50%);
    flex:none;
}
html[data-nav-labels="on"] #sideAlertsBadge { right:10px; }

/* Rendered Markdown uses the same fine dotted writing lines as reports. */
.markdown-content:not(.report-reading-content) {
    line-height:32px;
    background-image:radial-gradient(circle at 2px 30px, var(--pm-border-strong, var(--color-card-bg)) .55px, transparent .9px);
    background-size:6px 32px;
    background-origin:content-box;
}
.markdown-content:not(.report-reading-content) > p { margin:0; line-height:32px; }
.markdown-content:not(.report-reading-content) > pre,
.markdown-content:not(.report-reading-content) > table { background:var(--card-bg); }

.entity-preview-drawer .slide-drawer-panel { width:min(620px, 94vw); }
.entity-preview-drawer .slide-drawer-body { overflow-y:auto; }
.entity-preview-title { margin:0 0 18px; color:var(--text-color); font-size:20px; line-height:1.45; }
.entity-preview-drawer .drawer-section { margin-bottom:20px; }
.entity-preview-markdown { min-height:64px; overflow-wrap:anywhere; }
.entity-preview-drawer .slide-drawer-footer { justify-content:space-between; }
.requirements-list-page .requirement-title-cell [data-entity-preview],
.bug-title-cell [data-entity-preview] { cursor:pointer; }

/* A deeper paper stack, while keeping the tabs borderless. */
.app-side-navigation > :not(:first-child) { margin-top:-11px; }
.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    min-height:54px;
    background-image:linear-gradient(180deg, color-mix(in srgb, var(--color-card-bg) 19%, transparent), color-mix(in srgb, var(--color-card-bg) 5.5%, transparent) 9px, transparent 19px);
    box-shadow:inset 0 5px 8px -5px color-mix(in srgb, var(--color-text-primary) 28%, transparent);
    filter:drop-shadow(0 3px 3px color-mix(in srgb, var(--color-text-primary) 19%, transparent));
}
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group[open] > summary {
    background-image:linear-gradient(180deg, color-mix(in srgb, var(--color-card-bg) 18%, transparent), transparent 18px);
    filter:drop-shadow(0 4px 5px color-mix(in srgb, var(--color-primary) 28%, transparent));
}
.app-side-navigation > .app-side-brand { min-height:54px; }
.app-side-navigation > .app-side-toggle { margin-top:11px; }
@media (max-height:680px) {
    .app-side-navigation > :not(:first-child) { margin-top:-10px; }
    .app-side-navigation > a,
    .app-side-navigation > .app-side-group > summary,
    .app-side-navigation > .app-side-toggle,
    .app-side-navigation > .app-side-brand { min-height:44px; }
}

/* Book-index behavior:the earlier tab always rests on top of the next one. */
html[data-nav-side="on"] .app-side-navigation {
    padding-left:5px;
    padding-right:0;
    border:0 !important;
    border-radius:0;
    background:transparent !important;
    box-shadow:none !important;
}
.app-side-navigation > :not(:first-child) { margin-top:-14px; }
.app-side-navigation > :nth-child(1) { z-index:15; }
.app-side-navigation > :nth-child(2) { z-index:14; }
.app-side-navigation > :nth-child(3) { z-index:13; }
.app-side-navigation > :nth-child(4) { z-index:12; }
.app-side-navigation > :nth-child(5) { z-index:11; }
.app-side-navigation > :nth-child(6) { z-index:10; }
.app-side-navigation > :nth-child(7) { z-index:9; }
.app-side-navigation > :nth-child(8) { z-index:8; }
.app-side-navigation > :nth-child(9) { z-index:7; }
.app-side-navigation > :nth-child(10) { z-index:6; }
.app-side-navigation > :nth-child(11) { z-index:5; }
.app-side-navigation > :nth-child(12) { z-index:4; }
.app-side-navigation > :nth-child(13) { z-index:3; }
.app-side-navigation > :nth-child(14) { z-index:2; }
.app-side-navigation > :nth-child(15) { z-index:1; }
.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    width:100%;
    margin-left:0;
    border:0;
    background:var(--tab-fill, var(--card-bg));
    background-image:none;
    color:var(--color-text-primary);
    box-shadow:none;
    filter:drop-shadow(0 4px 4px color-mix(in srgb, var(--color-text-primary) 20%, transparent));
    transition:width .18s ease, margin-left .18s ease, filter .18s ease;
}
.app-side-navigation > .app-side-brand { filter:none; }
.app-side-navigation > a:hover,
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group > summary:hover,
.app-side-navigation > .app-side-group[open] > summary {
    width:calc(100% + 8px);
    margin-left:-8px;
    border:0;
    background:var(--tab-fill, var(--card-bg));
    background-image:none;
    color:var(--color-text-primary);
    box-shadow:none;
    filter:drop-shadow(0 5px 6px color-mix(in srgb, var(--color-text-primary) 25%, transparent));
}
.app-side-navigation > a:hover,
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group:hover,
.app-side-navigation > .app-side-group[open] { z-index:30; }
.app-side-navigation > .app-side-brand:hover,
.app-side-navigation > .app-side-brand.is-active { filter:none; }
.app-side-navigation > .app-side-toggle { margin-top:11px; }
[data-theme="dark"] .app-side-navigation > a.is-active,
[data-theme="dark"] .app-side-navigation > .app-side-group[open] > summary { color:var(--color-text-primary); }
@media (max-height:680px) {
    .app-side-navigation > :not(:first-child) { margin-top:-10px; }
}

.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    background-image:linear-gradient(0deg, color-mix(in srgb, var(--color-card-bg) 17%, transparent), transparent 10px);
    box-shadow:inset 0 -5px 8px -7px color-mix(in srgb, var(--color-text-primary) 45%, transparent);
}
.app-side-navigation > a:hover,
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group > summary:hover,
.app-side-navigation > .app-side-group[open] > summary {
    background-image:linear-gradient(0deg, color-mix(in srgb, var(--color-card-bg) 17%, transparent), transparent 10px);
    box-shadow:inset 0 -5px 8px -7px color-mix(in srgb, var(--color-text-primary) 45%, transparent);
}

/* Calm paper tabs:restrained color, soft corners, and a small natural shadow. */
.app-side-navigation > :nth-child(n) { --tab-surface:var(--color-table-header); }
.app-side-navigation > :nth-child(even) { --tab-surface:var(--color-table-header); }
.app-side-navigation > .app-side-brand { --tab-surface:var(--color-table-header); }
.app-side-navigation > :not(:first-child) { margin-top:-3px; }
.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    min-height:clamp(42px, 5.4vh, 50px);
    border-radius:11px 0 0 11px;
    clip-path:none;
    background:var(--tab-surface);
    background-image:none;
    box-shadow:0 2px 6px color-mix(in srgb, var(--color-text-primary) 9%, transparent);
    filter:none;
}
.app-side-navigation > .app-side-brand { min-height:clamp(42px, 5.4vh, 50px); box-shadow:none; }
.app-side-navigation > a:hover,
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group > summary:hover,
.app-side-navigation > .app-side-group[open] > summary {
    background:var(--tab-surface);
    background-image:none;
    color:var(--color-text-primary);
    box-shadow:0 3px 7px color-mix(in srgb, var(--color-text-primary) 11%, transparent);
    filter:none;
}
.app-side-navigation > .app-side-toggle { margin-top:7px; }
.app-side-navigation > a:focus-visible,
.app-side-navigation > .app-side-group > summary:focus-visible,
.app-side-navigation > .app-side-toggle:focus-visible { outline:2px solid var(--primary-color); outline-offset:-2px; }
[data-theme="dark"] .app-side-navigation > :nth-child(n) { --tab-surface:var(--color-card-bg); }
[data-theme="dark"] .app-side-navigation > :nth-child(even) { --tab-surface:var(--color-card-bg); }
[data-theme="dark"] .app-side-navigation > .app-side-brand { --tab-surface:var(--color-card-bg); }
[data-theme="dark"] .app-side-navigation > a,
[data-theme="dark"] .app-side-navigation > .app-side-group > summary,
[data-theme="dark"] .app-side-navigation > .app-side-toggle { color:var(--color-text-tertiary); }
[data-theme="dark"] .app-side-navigation > a:hover,
[data-theme="dark"] .app-side-navigation > a.is-active,
[data-theme="dark"] .app-side-navigation > .app-side-group > summary:hover,
[data-theme="dark"] .app-side-navigation > .app-side-group[open] > summary { color:var(--color-text-tertiary); }

/* Report attachments follow the writing sections; the information rail has a quiet edge. */
.work-report-detail .report-information-column { border:1px dashed var(--color-border); border-radius:10px; }
.work-report-detail .report-writing-column { grid-row:1; }
.report-writing-column .report-resources-section .requirement-major-body { padding-left:0 !important; }
.report-writing-column .report-resources-section .report-link-cards { margin-bottom:14px; }
[data-theme="dark"] .work-report-detail .report-information-column { border-color:var(--color-border); }

/* Rendered Markdown line rules are a browser-local display preference. */
html[data-markdown-lines] {
    --reading-line-size:8px 32px;
    --reading-line-image:none;
}
html[data-markdown-lines="solid"] {
    --reading-line-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='32'%3E%3Cpath d='M0 28H8' stroke='%237d8fa4' stroke-opacity='.65' stroke-width='.6'/%3E%3C/svg%3E");
}
html[data-markdown-lines="none"] { --reading-line-image:none; }
html[data-theme="dark"][data-markdown-lines="solid"] {
    --reading-line-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='32'%3E%3Cpath d='M0 28H8' stroke='%2394a3b8' stroke-opacity='.5' stroke-width='.6'/%3E%3C/svg%3E");
}
html[data-markdown-lines] .markdown-content,
html[data-markdown-lines] .reading-text-section > h4 {
    position:relative;
    isolation:isolate;
    line-height:32px !important;
    background-position:0 0 !important;
    background-size:var(--reading-line-size) !important;
    background-origin:content-box !important;
    background-image:var(--reading-line-image) !important;
}
.markdown-line-layer { display:none; position:absolute; inset:0; z-index:-1; pointer-events:none; }
html[data-markdown-lines="dashed"] .markdown-line-layer { display:block; }
.markdown-line-layer > span {
    position:absolute;
    left:0;
    right:0;
    height:0;
    border-top:1px dashed var(--pm-border-strong);
}
/* Keep every text block on the same 32px rhythm, including wrapped lines and lists. */
html[data-markdown-lines] .markdown-content { white-space:normal !important; }
html[data-markdown-lines] .markdown-content:is(p, ul, ol, li, blockquote) {
    margin-block:0 !important;
    line-height:32px !important;
}
html[data-markdown-lines] .markdown-content:is(h1, h2, h3, h4, h5, h6) {
    margin-block:0 !important;
    line-height:32px !important;
}
html[data-markdown-lines] .markdown-content:is(pre, table) { background-color:var(--card-bg, var(--color-content-bg)); }
.reading-text-section > h4 {
    display:flex;
    align-items:center;
    width:100%;
    box-sizing:border-box;
    margin:0 !important;
    padding:0 !important;
    background-color:transparent !important;
    color:var(--text-color, var(--color-text-primary));
}
.reading-text-section > h4::before,
.reading-text-section > h4::after { display:none !important; }
.reading-text-section .markdown-content {
    padding:0 !important;
    border:0 !important;
    box-shadow:none !important;
}
.test-task-description.reading-text-section {
    padding:12px 0;
    background:transparent;
    border:0;
    border-radius:0;
}

/* The maintenance page and the two full-width views share the standard page shell. */
.content > .maintenance-page {
    box-sizing:border-box;
    min-width:0;
    padding:24px;
    gap:18px;
    background:var(--card-bg, var(--color-content-bg));
}
.content > .work-report-detail,
.content > .work-calendar-page {
    border:1px solid var(--pm-border, var(--border-color, var(--color-border))) !important;
}
@media (max-width:700px) {
    .content > .maintenance-page { padding:16px; gap:14px; }
}
@media print {
    .content > .work-report-detail,
    .content > .work-calendar-page { border:0 !important; }
}

/* Separate rollout estimates into three scannable columns. */
.requirement-rollout-balanced { min-width:900px; }
.requirement-rollout-balanced th:nth-child(1) { width:15% !important; }
.requirement-rollout-balanced th:nth-child(2),
.requirement-rollout-balanced th:nth-child(3) { width:9% !important; }
.requirement-rollout-balanced th:nth-child(4) { width:25% !important; }
.requirement-rollout-balanced th:nth-child(5),
.requirement-rollout-balanced th:nth-child(6) { width:14% !important; }
.requirement-rollout-balanced th:nth-child(7) { width:8% !important; }
.requirement-rollout-balanced th:nth-child(8) { width:6% !important; }
.requirement-rollout-balanced .project-cost-cell { min-width:0; }

/* Soft overlapping page tabs, with the active tab joining the white workspace. */
.project-tabs {
    display:flex;
    align-items:flex-end;
    gap:0;
    padding:12px 16px 0;
    margin-bottom:0;
    background:var(--pm-subtle);
    border-radius:12px 12px 0 0;
    border-bottom:0;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
}
.project-tabs .project-tab {
    position:relative;
    isolation:isolate;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    box-sizing:border-box;
    min-height:46px;
    padding:12px 23px;
    margin-left:-8px;
    margin-bottom:0;
    border:0;
    color:var(--pm-secondary);
    background:transparent;
    font-size:14px;
    white-space:nowrap;
    transition:color .15s ease;
}
.project-tabs .project-tab::before {
    content:"" !important;
    display:block !important;
    position:absolute;
    inset:0;
    z-index:-1;
    margin:0;
    border:0;
    border-radius:15px 15px 0 0;
    background:color-mix(in srgb, var(--pm-primary) 12%, var(--pm-subtle));
    transform:skewX(14deg);
    transform-origin:bottom;
    transition:background .15s ease;
}
.project-tabs .project-tab:first-child { margin-left:0; }
.project-tabs .project-tab:nth-child(even)::before { background:color-mix(in srgb, var(--pm-primary) 8%, var(--pm-subtle)); }
.project-tabs .project-tab:hover { z-index:2; color:var(--pm-primary); }
.project-tabs .project-tab:hover::before { background:var(--pm-primary-soft); }
.project-tabs .project-tab.active { z-index:3; min-height:46px; color:var(--pm-text); font-weight:650; }
.project-tabs .project-tab.active::before {
    inset-block-start:0;
    background:var(--pm-surface);
    box-shadow:none;
}
.project-tabs .project-tab.active::after {
    display:none;
}
.project-tabs + * { padding-top:20px; }
.project-tabs .project-tab:focus-visible { outline:2px solid var(--pm-primary); outline-offset:-5px; border-radius:8px; }

/* Curved tab feet and one continuous, lightly outlined content panel. */
.project-tabs { background:transparent; padding:12px 12px 0; position:relative; z-index:1; margin-bottom:-1px; }
.project-tabs .project-tab { height:46px; padding:10px 20px; margin-left:0; }
.project-tabs .project-tab::before { display:none !important; }
.project-tabs .project-tab-shape { position:absolute; left:-12px; bottom:0; width:calc(100% + 24px); height:46px; z-index:-1; overflow:visible; pointer-events:none; }
.project-tab-shape path { fill:var(--pm-subtle); stroke:none; }
.project-tab:hover .project-tab-shape path { fill:var(--pm-primary-soft); }
.project-tabs .project-tab.active { color:var(--pm-primary); }
.project-tab.active .project-tab-shape path { fill:var(--pm-surface); stroke:var(--pm-border); stroke-width:1; }
.project-tab-panel { position:relative; padding:20px; border:1px solid var(--pm-border); border-radius:10px; background:var(--pm-surface); }
.project-tabs + .project-tab-panel { padding-top:20px; }

/* Report metadata and progress share the left column's existing surface. */
html .work-report-detail .report-information-column .report-detail-summary,
html .work-report-detail .report-information-column .report-detail-summary .detail-item,
html .work-report-detail .report-information-column .report-main-section,
html .work-report-detail .report-information-column .report-progress-groups article {
    background:transparent !important;
    box-shadow:none !important;
}

/* Short progress notes read as compact timeline rows rather than separate cards. */
.important-task-detail-card .task-progress-list { gap:0; padding-left:16px; }
.important-task-detail-card .task-progress-list::before { left:3px; top:24px; bottom:24px; }
.important-task-detail-card .task-progress-list > article {
    display:grid;
    grid-template-columns:110px minmax(0, 1fr) auto;
    align-items:start;
    gap:16px;
    padding:10px 12px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.important-task-detail-card .task-progress-list > article:first-child { background:color-mix(in srgb, var(--pm-primary) 3%, var(--pm-surface)); }
.important-task-detail-card .task-progress-dot { left:-16px; top:22px; width:7px; height:7px; border:0; background:var(--pm-border-strong); box-shadow:none; }
.important-task-detail-card .task-progress-list > article:first-child .task-progress-dot { background:var(--pm-primary); }
.task-progress-time { grid-column:1; grid-row:1; color:var(--pm-secondary); font-size:12px; line-height:20px; padding-top:2px; font-variant-numeric:tabular-nums; }
.task-progress-time small { display:block; color:var(--pm-muted); }
.task-link-dialog-body { padding:18px 20px; overflow-y:auto; max-height:65vh; }
.task-link-dialog .task-reference-lookup { grid-template-columns:130px minmax(0, 1fr) auto; }
.task-link-dialog #detail-reference-result { grid-column:1 / -1; color:var(--pm-secondary); font-size:13px; }
.task-link-dialog .task-link-dialog-body label { display:block; padding:0; margin-bottom:6px; }
.task-link-dialog .task-link-dialog-body input { width:100% !important; margin:0; }
.task-link-dialog .task-link-dialog-body .form-grid { margin-top:16px; }

/* Page header actions share a calm neutral palette; dialog actions keep their emphasis. */
/* Full-page editors follow the same workspace width as their detail pages. */
.content > :is(.form-page-card, .product-definition-form-page, .test-task-form-page, .important-task-form-card, .work-report-form-card) {
    box-sizing:border-box;
    width:100%;
    max-width:none;
    margin-inline:0;
}
.work-report-table .report-title-link { display:flex !important; flex-direction:column; align-items:flex-start; gap:4px; white-space:normal; }
.work-report-table .report-title-link strong { display:block; line-height:1.4; }
.work-report-table .report-title-link small { display:block; color:var(--pm-muted); font-size:12px; line-height:1.4; }
.work-report-table { min-width:900px; }
.work-report-table .report-period-lines { display:grid; gap:4px; min-width:100px; white-space:nowrap; font-variant-numeric:tabular-nums; line-height:1.4; }
.work-report-table .report-period-lines span:last-child { color:var(--pm-secondary); }
.work-report-table .report-overdue-label { display:block; margin-top:5px; line-height:1.4; }
.work-report-table .table-actions { display:flex; gap:8px; align-items:center; opacity:1; }
.work-report-table .table-actions a { box-sizing:border-box; min-width:52px; min-height:30px; padding:5px 12px; border:1px solid var(--pm-border-strong); border-radius:6px; background:var(--pm-subtle); color:var(--pm-secondary); font-weight:500; line-height:1.2; box-shadow:none; transition:background-color .15s, border-color .15s, color .15s; }
.work-report-table .table-actions a:hover { background:var(--pm-primary-soft); border-color:var(--pm-primary); color:var(--pm-primary); }
.work-report-table .table-actions a:focus-visible { outline:2px solid var(--pm-primary); outline-offset:2px; }
.content .page-title-row .button:not(dialog *, [id$="Modal"] *) {
    background:var(--pm-subtle) !important;
    background-image:none !important;
    border:1px solid var(--pm-border-strong) !important;
    color:var(--pm-secondary) !important;
    box-shadow:none !important;
}
.content .page-title-row .button:not(dialog *, [id$="Modal"] *):hover {
    background:var(--pm-primary-soft) !important;
    border-color:var(--pm-primary) !important;
    color:var(--pm-primary) !important;
    box-shadow:none !important;
}
.content .page-title-row:is(.button-danger, .button[href$="/delete"], form[action*="/delete"] .button, [data-delete-task].button, .danger.button):not(dialog *, [id$="Modal"] *) {
    color:var(--pm-danger) !important;
}
@media (max-width:600px) { .task-link-dialog .task-reference-lookup { grid-template-columns:1fr; } }
.important-task-detail-card .task-progress-actions { grid-column:3; grid-row:1; padding-top:3px; gap:10px; }
.important-task-detail-card .task-progress-list .markdown-content { grid-column:2; grid-row:1; min-width:0; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; background-color:transparent !important; overflow-wrap:anywhere; }
@media (max-width:800px) {
    .important-task-detail-card .task-progress-list > article { grid-template-columns:minmax(0, 1fr) auto; gap:4px 12px; }
    .task-progress-time small { display:inline; margin-left:8px; }
    .important-task-detail-card .task-progress-actions { grid-column:2; }
    .important-task-detail-card .task-progress-list .markdown-content { grid-column:1 / -1; grid-row:2; }
}

/* One continuous sidebar; only the hovered or selected row extends outward. */
html[data-nav-side="on"] .app-side-navigation {
    padding:6px 0;
    gap:0;
    background:var(--pm-subtle) !important;
    border:0 !important;
    border-radius:10px 0 0 10px;
    box-shadow:none !important;
}
.app-side-navigation > :nth-child(n) { margin-top:0; margin-bottom:0; }
.app-side-navigation > a,
.app-side-navigation > .app-side-group > summary,
.app-side-navigation > .app-side-toggle {
    width:100%;
    margin-left:0;
    min-height:clamp(40px, 5.4vh, 50px);
    border:0;
    border-radius:0;
    clip-path:none;
    background:transparent;
    background-image:none;
    color:var(--pm-secondary);
    box-shadow:none;
    filter:none;
    transition:width .18s ease, margin-left .18s ease, background-color .18s ease;
}
.app-side-navigation > a:hover,
.app-side-navigation > a.is-active,
.app-side-navigation > .app-side-group > summary:hover,
.app-side-navigation > .app-side-group[open] > summary,
.app-side-navigation > .app-side-toggle:hover {
    width:calc(100% + 8px);
    margin-left:-8px;
    border-radius:8px 0 0 8px;
    background:var(--pm-primary-soft);
    background-image:none;
    color:var(--pm-primary);
    box-shadow:none;
    filter:none;
}
[data-theme="dark"] .app-side-navigation > a,
[data-theme="dark"] .app-side-navigation > .app-side-group > summary,
[data-theme="dark"] .app-side-navigation > .app-side-toggle { color:var(--pm-secondary); }
[data-theme="dark"] .app-side-navigation > a:hover,
[data-theme="dark"] .app-side-navigation > a.is-active,
[data-theme="dark"] .app-side-navigation > .app-side-group > summary:hover,
[data-theme="dark"] .app-side-navigation > .app-side-group[open] > summary,
[data-theme="dark"] .app-side-navigation > .app-side-toggle:hover { color:var(--pm-primary); }
.replica-sync-section { margin:0 0 20px; padding:16px; border:1px solid var(--color-border); border-radius:8px; background:var(--color-card-bg); }
.replica-sync-heading h3 { margin:0; }
.replica-sync-section p { color:var(--color-text-secondary); font-size:12px; line-height:1.6; }
.replica-connection-grid { display:grid; grid-template-columns:2fr 1fr 1.5fr auto; align-items:end; gap:12px; }
.replica-connection-grid label { display:grid; gap:6px; }
.replica-connection-grid input { box-sizing:border-box; width:100%; min-width:0; height:32px; padding:0 8px; }
.replica-sync-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.replica-sync-dialog { width:min(560px,calc(100vw - 40px)); padding:20px; border:1px solid var(--color-border); border-radius:8px; box-shadow:var(--shadow-card); }
.replica-option { display:flex; align-items:center; gap:8px; margin:12px 0; }
.replica-option input[type="checkbox"] { width:16px!important; height:16px!important; min-height:16px!important; flex:none; }
.replica-option[hidden] { display:none; }
@media(max-width:900px) { .replica-connection-grid { grid-template-columns:1fr 1fr; } }
.cloud-view-notice { margin:0 0 12px; padding:8px 12px; border:1px solid var(--color-border); border-radius:6px; background:var(--color-info-bg); color:var(--color-info); }
.sync-session-banner { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px; padding:8px 12px; border:1px solid var(--color-border); border-radius:6px; background:var(--color-info-bg); color:var(--color-text-secondary); font-size:12px; }
.sync-session-banner[hidden], .sync-session-banner [hidden] { display:none!important; }
.sync-session-banner span { flex:1; }
.sync-session-banner[data-warning="true"] { background:var(--color-warning-bg); }
