/* PharmaFlow V131 — shared visual system.
   Department colours identify context; status colours always retain their meaning. */
:root {
  --pf-ui-canvas:#f4f6f8; --pf-ui-surface:#fff; --pf-ui-ink:#1c3039;
  --pf-ui-muted:#526571; --pf-ui-border:#dce3e8; --pf-ui-subtle:#edf2f4;
  --pf-ui-success:#186c50; --pf-ui-danger:#b12f35; --pf-ui-warning:#8b5a00;
  --pf-ui-radius:10px; --pf-ui-sidebar:224px; --pf-ui-row:46px;
  --pf-ui-space:24px; --pf-ui-control:38px; --pf-ui-shadow:0 2px 6px #18304206;
}
html body,html body[data-pf-department] {
  --pf-canvas:var(--pf-ui-canvas); --pf-bg:var(--pf-ui-canvas);
  --pf-ink:var(--pf-ui-ink); --pf-muted:var(--pf-ui-muted); --pf-border:var(--pf-ui-border);
  --pf-radius:var(--pf-ui-radius); --pf-shadow:var(--pf-ui-shadow);
  --pf-type-body:14px; --pf-type-control:14px; --pf-type-label:13px;
  --pf-type-note:12px; --pf-type-table:13px; --pf-type-section:18px; --pf-type-page:26px;
  font-family:"Segoe UI",Aptos,system-ui,sans-serif!important;
  background:var(--pf-ui-canvas); color:var(--pf-ui-ink); -webkit-font-smoothing:antialiased;
}
html body[data-pf-density="compact"] {--pf-ui-row:38px;--pf-ui-space:18px;--pf-ui-control:34px}
html body[data-pf-department] :is(button,input,select,textarea){font-family:inherit!important}
html body[data-pf-department] button {transition:background .12s,border-color .12s,box-shadow .12s;transform:none!important}
html body[data-pf-department] :is(button,a,input,select,textarea,[tabindex]):focus-visible {outline:3px solid #257f9c!important;outline-offset:3px}
html body[data-pf-department] button:disabled {cursor:not-allowed;opacity:.58}
html body[data-pf-department] [hidden] {display:none!important}
.pf-ui-icon{display:inline-block;flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.pf-ui-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important}

/* Frame: a quiet navigation column and a single fluid working surface. */
html body[data-pf-department] .app-shell {display:grid!important;grid-template-columns:var(--pf-ui-sidebar) minmax(0,1fr)!important;min-height:100dvh;background:var(--pf-ui-canvas)}
html body[data-pf-department] .workspace {min-width:0;background:var(--pf-ui-canvas)!important}
html body[data-pf-department] .sidebar {position:sticky!important;top:0;display:flex!important;flex-direction:column;width:var(--pf-ui-sidebar)!important;height:100dvh;min-height:0;padding:20px 12px 12px!important;border:0;border-right:1px solid var(--pf-ui-border);background:#fff!important;color:var(--pf-ui-ink)!important;box-shadow:none!important;z-index:60}
html body[data-pf-department] .sidebar .brand {display:flex;align-items:center;gap:9px;flex:none;padding:0 4px 18px!important;margin:0;color:#164c46;font-size:18px!important;letter-spacing:-.04em}
html body[data-pf-department] .sidebar .brand-mark {display:grid;place-items:center;width:34px!important;height:36px!important;flex:none;border-radius:9px!important;background:var(--pf-dept-primary,#006b65)!important;color:#fff!important;font:750 18px "Segoe UI",sans-serif!important}
html body[data-pf-department] .sidebar .brand small {color:var(--pf-ui-muted)!important;font-size:10px;letter-spacing:.02em;font-weight:500;margin-top:2px}
html body[data-pf-department] .sidebar .pf-ui-collapse {display:grid;place-items:center;margin-left:auto;padding:4px;width:28px;height:30px;border:0;border-radius:6px;color:#60737b;background:transparent;cursor:pointer}
html body[data-pf-department] .pf-ui-collapse:hover {background:var(--pf-ui-subtle)}
html body[data-pf-department] .pf-department-panel {margin:0 0 14px;padding:0 2px 14px;border-bottom:1px solid var(--pf-ui-border);flex:none}
html body[data-pf-department] .sidebar .pf-department-select {min-height:42px;padding:9px 11px;border:1px solid var(--pf-ui-border)!important;border-left:3px solid var(--pf-dept-primary)!important;border-radius:8px;background:#f7f9fa!important;color:var(--pf-ui-ink)!important;font-size:13px;font-weight:650}
html body[data-pf-department] .pf-department-options {border-color:var(--pf-ui-border);box-shadow:0 8px 24px #1b344022;border-radius:10px;padding:5px}
html body[data-pf-department] .pf-department-options button {min-height:38px;font-size:13px}
html body[data-pf-department] .sidebar nav {display:block!important;flex:1;min-height:0;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:thin;border:0;padding:0;margin:0;scrollbar-color:#cbd7dc transparent}
html body[data-pf-department] .sidebar .nav-group {display:flex!important;flex-direction:column!important;gap:3px!important;margin:0 0 14px;padding:0}
html body[data-pf-department] .sidebar .nav-group>small {display:block!important;margin:0;padding:0 10px 5px;color:#697a83!important;letter-spacing:.09em;font-size:10px!important;font-weight:700;text-transform:uppercase}
html body[data-pf-department] .sidebar .nav-item,html body[data-pf-department] .sidebar .pf-radio-menu-button {display:flex;align-items:center;gap:10px;min-height:38px;width:100%;margin:0;padding:8px 10px!important;border:0;border-radius:7px!important;background:transparent!important;color:#40535f!important;font-size:13px!important;font-weight:550!important;text-align:left;line-height:1.3;transform:none!important;box-shadow:none!important}
html body[data-pf-department] .sidebar .nav-item:hover,html body[data-pf-department] .sidebar .pf-radio-menu-button:hover {background:#f0f5f4!important;color:#163e39!important}
html body[data-pf-department] .sidebar .nav-item.active {background:var(--pf-dept-soft,#ddf1ef)!important;color:var(--pf-dept-dark,#004f4b)!important;font-weight:700!important;box-shadow:inset 3px 0 var(--pf-dept-primary)!important}
html body[data-pf-department] .sidebar :is(.nav-item,.pf-radio-menu-button)>span {display:grid;place-items:center;width:20px;min-width:20px;height:22px;background:transparent!important;border-radius:0;color:inherit!important;font-size:12px!important}
html body[data-pf-department] .sidebar .nav-item svg {width:19px;height:19px}
html body[data-pf-department] .sidebar .nav-item em {margin-left:auto;min-width:18px;padding:1px 4px;border-radius:4px;color:#963036;background:#fce9e9;font-style:normal;font-size:10px}
html body[data-pf-department] .sidebar .side-foot {display:flex!important;flex-direction:column;gap:3px;flex:none;margin-top:8px;padding:8px 0 0!important;border-top:1px solid var(--pf-ui-border)}
html body[data-pf-department] .pf-ui-foot {display:flex;flex-direction:column;gap:5px;flex:none;padding-top:3px}
html body[data-pf-department] .pf-ui-preferences {display:flex;align-items:center;gap:10px;min-height:34px;border:0;border-radius:7px;background:transparent;color:#40535f;padding:7px 10px;text-align:left;font-size:12px;cursor:pointer}
.pf-ui-preferences small {margin-left:auto;font-size:10px;color:#697a83}
html body[data-pf-department] .pf-ui-save {display:flex;align-items:center;gap:7px;border:0;border-radius:6px;padding:7px 10px;color:#526571;background:#f5f7f8;font-size:11px;line-height:1.4}
.pf-ui-save .pf-ui-icon{width:15px;height:15px}.pf-ui-save[data-state="saved"]{color:#186c50!important;background:#ecf6f0!important}.pf-ui-save[data-state="error"],.pf-ui-save[data-state="offline"]{color:#9c2c32!important;background:#fbecee!important}.pf-ui-save[data-state="saving"]{color:#215d85!important;background:#edf5fb!important}

/* Header: context, employee search and account remain available. */
html body[data-pf-department] .topbar {display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;min-height:76px!important;padding:13px var(--pf-ui-space)!important;background:#fff!important;border-bottom:1px solid var(--pf-ui-border)!important;box-shadow:none!important;z-index:50;position:sticky!important;top:0}
html body[data-pf-department] .topbar .page-heading {margin:0!important;min-width:145px;flex:1;order:1}
html body[data-pf-department] .topbar .page-heading p {font-size:10px!important;line-height:1.3;letter-spacing:.04em;margin:0 0 4px;color:#60737b!important}
html body[data-pf-department] .topbar .page-heading h1 {font-size:21px!important;line-height:1.2;letter-spacing:-.025em;font-weight:650!important;color:#1c3039!important}
html body[data-pf-department] .topbar .global-search {display:block;order:2;min-width:150px;width:clamp(160px,16vw,230px);margin:0}
html body[data-pf-department] .topbar .global-search input {height:36px;background:#f4f7f8;border:1px solid var(--pf-ui-border);border-radius:7px!important;font-size:12px!important;padding-left:32px}
html body[data-pf-department] .topbar .global-search>span {left:10px;top:7px}
html body[data-pf-department] .search-results {z-index:100;border:1px solid var(--pf-ui-border);border-radius:10px;box-shadow:0 12px 36px #18304220}
html body[data-pf-department] .search-results button {min-height:48px;padding:10px 12px;font-size:13px}
html body[data-pf-department] .pf-ui-jump {order:2;display:flex;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;padding:7px 9px;border:1px solid var(--pf-ui-border);border-radius:7px;background:#fff;color:#526571;cursor:pointer}
.pf-ui-jump kbd{font:10px "Segoe UI",sans-serif;color:#697a83}
html body[data-pf-department] .topbar .team-switch {order:3!important;margin:0!important;flex:none;width:auto!important}
html body[data-pf-department] .topbar .pf-team-arrows {gap:5px}
html body[data-pf-department] .topbar .pf-team-arrows button {width:30px;min-width:30px;min-height:34px;height:34px;padding:3px;border:1px solid var(--pf-ui-border);border-radius:6px;background:#fff;color:var(--pf-ui-ink)}
html body[data-pf-department] .topbar .pf-team-arrows b {font-size:12px!important;font-weight:650}
html body[data-pf-department] .topbar .pf-admin-view-trigger {order:4!important;min-height:36px;height:36px;margin:0;padding:4px 6px;border:1px solid var(--pf-ui-border);border-radius:7px;box-shadow:none}
html body[data-pf-department] .topbar .pf-admin-view-mark {width:26px;height:26px;border-radius:6px;font-size:12px}
html body[data-pf-department] .topbar .pf-admin-view-copy strong{font-size:11px}.topbar .pf-admin-view-copy small{font-size:10px}
html body[data-pf-department] .topbar .top-user {order:5!important;gap:8px;padding-left:12px;border-left:1px solid var(--pf-ui-border);margin:0!important}
html body[data-pf-department] .topbar .top-user>span {width:32px!important;height:32px!important;border-radius:50%;font-size:11px}
html body[data-pf-department] .topbar .top-user b {font-size:12px!important;max-width:130px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body[data-pf-department] .topbar .top-user small {display:block!important;font-size:10px!important;color:#60737b}
html body[data-pf-department] .logout-button {font-size:11px!important;padding:6px;border:0;background:transparent;color:#526571}

/* Consistent content rhythm; large decorative banners become clear page headings. */
html body[data-pf-department] .page-content,html body[data-pf-department] .page-content.cockpit-page,html body[data-pf-department] .pf-tier-wrap {width:100%;max-width:1800px!important;min-width:0;margin:0 auto!important;padding:var(--pf-ui-space) var(--pf-ui-space) 40px!important;font-size:14px;line-height:1.5}
html body[data-pf-department] .page-content .pf-view-header {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-height:0;margin:0 0 22px!important;padding:0!important;border:0;border-radius:0;background:transparent!important;color:var(--pf-ui-ink)!important;box-shadow:none!important}
html body[data-pf-department] .page-content .pf-view-header::before {content:none!important}
html body[data-pf-department] .page-content .pf-view-header.pf-view-generated {display:block}
html body[data-pf-department] .page-content .pf-view-header :is(h1,h2) {font-size:clamp(22px,2vw,28px)!important;font-weight:650!important;letter-spacing:-.03em;line-height:1.22!important;margin:3px 0 5px;color:var(--pf-ui-ink)!important}
html body[data-pf-department] .page-content .pf-view-header small {color:var(--pf-dept-primary)!important;font-size:10px!important;letter-spacing:.1em;font-weight:750!important}
html body[data-pf-department] .page-content .pf-view-header p {max-width:82ch;margin:0;color:var(--pf-ui-muted)!important;font-size:13px!important;font-weight:400!important}
html body[data-pf-department] .page-content .pf-view-header .pf-changelog-current {background:#e7f3ed!important;color:#186c50!important;border:1px solid #cde4d6}
html body[data-pf-department] :is(.summary-strip>div,.quick-card,.feature-card,.planner-card,.service-plan-card,.period-plan,.absence-calendar-card,.horizon-card,.cockpit-card,.action-card,.privacy-policy,.profile-section,.shared-calendar,.team-block,.employee-register,.management-table,.pf-tier-card,.pf-production-card,.pf-management-custom-report,.pf-employee-calendar) {border:1px solid var(--pf-ui-border)!important;border-radius:var(--pf-ui-radius)!important;background:#fff;box-shadow:var(--pf-ui-shadow)!important}
html body[data-pf-department] :is(.cockpit-pulse article,.feature-kpis>div,.management-kpis>div,.dle-kpis>div) {border:1px solid var(--pf-ui-border);border-radius:10px;background:#fff;box-shadow:none!important}
html body[data-pf-department] :is(.summary-strip b,.cockpit-pulse article b) {font-size:28px!important;font-weight:650!important;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
html body[data-pf-department] :is(.summary-strip small,.cockpit-pulse article small) {font-size:12px!important;color:var(--pf-ui-muted)}
html body[data-pf-department] :is(.planning-toolbar,.dle-toolbar,.pf-dle-batch-toolbar) {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 14px;border:1px solid var(--pf-ui-border);border-radius:10px;background:#fff;box-shadow:none!important}
html body[data-pf-department] :is(.toolbar-right,.calendar-controls,.header-actions,.team-actions) {gap:7px;flex-wrap:wrap}
html body[data-pf-department] :is(.week-nav,.period-nav,.pf-team-arrows,.pf-tier-choice-nav) button {min-width:34px;min-height:var(--pf-ui-control);border-radius:7px}
html body[data-pf-department] :is(.header-actions,.toolbar-right,.modal-actions,.dashboard-controls,.calendar-controls,.team-actions,.cockpit-actions) button {min-height:var(--pf-ui-control);font-size:13px!important;font-weight:600}
html body[data-pf-department] :is(.primary,button.primary,.pf-save,.pf-action-form button) {border-radius:7px!important;box-shadow:none!important;font-weight:650!important;min-height:var(--pf-ui-control)}
html body[data-pf-department] .outline {border:1px solid #c9d4db!important;border-radius:7px!important;background:#fff!important;color:#304e59!important;box-shadow:none!important;font-weight:600}
html body[data-pf-department] .outline:hover {border-color:var(--pf-dept-primary)!important;background:#f3f7f7!important}
html body[data-pf-department] :is(input,select,textarea) {border-radius:7px!important;border-color:#c4d0d7!important;color:var(--pf-ui-ink)}
html body[data-pf-department] :is(input,select,textarea):disabled,html body[data-pf-department] input[readonly] {cursor:default}
html body[data-pf-department] :is(.team-tabs,.view-toggle,.management-view-toggle,.pf-action-tabs,.pf-tier-level-tabs,.pf-tier-meeting-tabs,.pf-tier-tabs) {gap:3px;padding:4px;border:1px solid var(--pf-ui-border);border-radius:9px;background:#edf2f4!important;box-shadow:none}
html body[data-pf-department] :is(.team-tabs,.view-toggle,.management-view-toggle,.pf-action-tabs,.pf-tier-level-tabs,.pf-tier-meeting-tabs,.pf-tier-tabs) button {min-height:var(--pf-ui-control);padding:8px 12px;border-radius:6px!important;border-color:transparent!important;background:transparent!important;color:#526571!important;font-size:13px!important;font-weight:600}
html body[data-pf-department] :is(.team-tabs,.view-toggle,.management-view-toggle,.pf-action-tabs,.pf-tier-level-tabs,.pf-tier-meeting-tabs,.pf-tier-tabs) button:is(.active,.selected,[aria-pressed="true"]) {background:#fff!important;color:var(--pf-dept-dark)!important;box-shadow:0 1px 4px #173c361c!important}
html body[data-pf-department] .team-tabs button>b {width:28px;flex-basis:28px;height:28px;font-size:12px!important}
html body[data-pf-department] .team-tabs button>span {font-size:13px!important}

/* Planning and registers: calm grids, sticky row identities, explicit state. */
html body[data-pf-department] :is(.period-plan-title,.dle-period-title,.pf-tier-card>header) {padding:16px 18px;border-bottom:1px solid var(--pf-ui-border);background:#fff}
html body[data-pf-department] .period-plan-title {display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-left:4px solid #7491a5}
html body[data-pf-department] .period-plan.revised .period-plan-title {border-left-color:var(--pf-dept-primary)}
html body[data-pf-department] .period-plan-title h3 {font-size:18px!important;font-weight:650;margin:3px 0;color:var(--pf-ui-ink)}
html body[data-pf-department] .period-plan-title small {font-size:10px!important;letter-spacing:.09em;color:#526571}
html body[data-pf-department] .period-plan-title p {font-size:12px!important;color:#60737b;margin:2px 0}
html body[data-pf-department] .period-plan-title>span {font-size:12px;border:1px solid var(--pf-ui-border);border-radius:6px;padding:5px 8px;color:#526571;background:#f6f8fa}
html body[data-pf-department] .pf-plan-approve {min-height:36px;padding:8px 12px;border:1px solid #b6c9d1;border-radius:7px;background:#fff;color:#315b6c;font-size:12px!important;font-weight:650;cursor:pointer}
html body[data-pf-department] .pf-plan-approve.approved {color:#186c50;background:#edf7f1;border-color:#b8d7c5}
html body[data-pf-department] .pf-plan-approve[data-state="error"] {color:#a12d34;background:#fff1f1;border-color:#e3b4b8}
html body[data-pf-department] .period-plan .period-grid-wrap,html body[data-pf-department] .pf-ui-scroll {scrollbar-width:thin;scrollbar-color:#bac9d2 #f1f5f6;overscroll-behavior-inline:contain}
html body[data-pf-department] .period-plan :is(.matrix-line,.matrix-corner,.matrix-shift-label) {position:sticky;left:0;z-index:3;background:#fff!important;border-right:2px solid #d1dce3;color:#304953}
html body[data-pf-department] .period-plan :is(.matrix-day,.matrix-shift) {background:#f1f5f7;color:#526571;border-color:#dce4e9}
html body[data-pf-department] .period-plan .matrix-cell {border-color:#e3eaee}
html body[data-pf-department] .period-plan .matrix-cell.inactive {background:#f8fafb;color:#697a83}
html body[data-pf-department] .period-plan .quick-service-cell {border-radius:0!important;font-variant-numeric:tabular-nums}
html body[data-pf-department] .period-plan .quick-service-cell:focus {position:relative;z-index:4;outline:2px solid #257f9c!important;outline-offset:-2px;box-shadow:none!important}
html body[data-pf-department] .period-plan .week-break {border-left:2px solid #8da8b8!important}
html body[data-pf-department] .dle-period-card .dle-line {position:sticky;left:0;z-index:3;background:#fff;border-right:2px solid #d1dce3}
html body[data-pf-department] .page-content table,html body[data-pf-department] .pf-tier-shell table {border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
html body[data-pf-department] :is(.page-content,.pf-tier-shell) thead {position:sticky;top:0;z-index:2}
html body[data-pf-department] :is(.page-content,.pf-tier-shell) thead th {background:#f0f4f7!important;color:#526571!important;font-size:12px!important;font-weight:650;border-bottom:1px solid #d3dfe6;letter-spacing:.01em}
html body[data-pf-department] :is(.employee-row,.dle-line-row,.management-row,.workplace-training-row) {min-height:var(--pf-ui-row);font-size:13px;border-color:#e6ecef}
html body[data-pf-department] :is(.employee-row,.dle-line-row,.management-row,.workplace-training-row):hover {background:#f5f9f9}
html body[data-pf-department] .planning-priority {background:transparent;border:0;box-shadow:none;padding:8px 0;gap:16px}
html body[data-pf-department] .planning-priority small {font-size:11px!important}
html body[data-pf-department] .planning-priority strong {font-size:12px}

/* Tier, actions, safety and feedback share the same visual hierarchy. */
html body[data-pf-department] .pf-tier-shell {background:var(--pf-ui-canvas)!important;color:var(--pf-ui-ink)}
html body[data-pf-department] .pf-tier-top {min-height:64px;padding:16px var(--pf-ui-space)!important;background:#fff!important;border-bottom:1px solid var(--pf-ui-border)!important;color:var(--pf-ui-ink)!important;box-shadow:none}
html body[data-pf-department] .pf-tier-top h1 {color:var(--pf-ui-ink)!important;font-size:22px!important;font-weight:650!important}
html body[data-pf-department] .pf-tier-top small {color:var(--pf-dept-primary)!important;font-size:11px!important}
html body[data-pf-department] .pf-tier-top>#tier-close {color:#40535f!important;background:#f1f5f7!important;border:1px solid var(--pf-ui-border)!important;border-radius:7px;min-height:36px;font-size:12px!important}
html body[data-pf-department] .pf-tier-card h3 {font-size:17px!important;font-weight:650}
html body[data-pf-department] .pf-tier2-kpis article {background:#fff!important;color:var(--pf-ui-ink)!important;border:1px solid var(--pf-ui-border);box-shadow:none}
html body[data-pf-department] .pf-tier2-kpis article :is(b,strong,span,small) {color:inherit!important}
html body[data-pf-department] .pf-status-picker button {min-width:36px;min-height:36px;width:36px;height:36px;border-radius:7px!important;border:2px solid transparent;position:relative;color:#fff}
html body[data-pf-department] .pf-status-picker button[data-status="green"]::after {content:"✓";font-weight:750;color:#fff}
html body[data-pf-department] .pf-status-picker button[data-status="red"]::after {content:"!";font-weight:800;color:#fff}
html body[data-pf-department] .pf-status-picker button[data-status="black"]::after {content:"—";color:#fff}
html body[data-pf-department] .pf-status-picker button.selected {outline:2px solid #173c4a!important;outline-offset:3px;box-shadow:0 0 0 2px #fff}
html body[data-pf-department] .pf-tier-status-legend {font-size:12px;line-height:1.5}
html body[data-pf-department] :is(.pf-kpi-statuses,.pf-tier-daily-info,.pf-action-form) {background:#f8fafb;border-color:var(--pf-ui-border)}
html body[data-pf-department] :is(.pf-tier-choice-nav,.pf-line-arrow-nav,.pf-tier-context-navigation) {border-radius:8px;border-color:var(--pf-ui-border);background:#fff}

/* Forms use neutral surfaces; danger is reserved for actual destructive actions. */
html body[data-pf-department] .modal-backdrop {background:#142a3c66!important;backdrop-filter:blur(2px)}
html body[data-pf-department] .modal {border:1px solid var(--pf-ui-border);border-radius:14px!important;box-shadow:0 24px 70px #152a3c40!important}
html body[data-pf-department] .modal-head,html body[data-pf-department] .pf-access-panel>header {background:#f7fafb!important;border-bottom:1px solid var(--pf-ui-border);color:var(--pf-ui-ink)!important}
html body[data-pf-department] :is(.modal-head,.pf-access-panel>header) :is(h2,h3,p,small,button) {color:var(--pf-ui-ink)!important}
html body[data-pf-department] .modal-head h2 {font-size:22px!important;font-weight:650!important}
html body[data-pf-department] .modal-actions {gap:8px;padding-top:15px;border-top:1px solid var(--pf-ui-border)}
html body[data-pf-department] .danger-button {background:#fff0f1;color:#a12d34;border:1px solid #dfafb5;border-radius:7px!important}
html body[data-pf-department] :is(.toast,.pf-toast) {background:#213d48;color:#fff;border:1px solid #4a626c;border-radius:9px;box-shadow:0 8px 24px #152a3c22;font-size:14px}
html body .public-login-shell {background:#f1f5f7!important}
html body .public-auth-card {border:1px solid var(--pf-ui-border)!important;border-radius:16px!important;background:#fff;box-shadow:0 12px 40px #1830420c!important;padding:32px!important}
html body .public-auth-card h1 {font-family:inherit;font-weight:650;font-size:27px;letter-spacing:-.03em}
html body .public-auth-card :is(input,button) {min-height:44px;font-size:15px}

/* Command palette and display preferences. No records are copied into these UI surfaces. */
.pf-ui-dialog {position:fixed;inset:0;width:min(560px,calc(100vw - 28px));max-height:min(680px,85dvh);padding:0;margin:auto;border:1px solid #cfdce3;border-radius:14px;background:#fff;color:#1c3039;box-shadow:0 24px 80px #152a3c44;font:14px "Segoe UI",system-ui,sans-serif}
.pf-ui-dialog::backdrop {background:#162d4159;backdrop-filter:blur(3px)}
.pf-ui-dialog header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px 12px;border-bottom:1px solid #e2e9ed}
.pf-ui-dialog h2 {margin:0;font-size:20px;font-weight:650;letter-spacing:-.02em}
.pf-ui-dialog .pf-ui-close {display:grid;place-items:center;width:32px;height:32px;padding:4px;border:0;border-radius:6px;background:#f0f4f6;color:#526571;cursor:pointer}
.pf-ui-dialog .pf-ui-search-wrap {padding:14px 18px}
.pf-ui-dialog input[type="search"] {width:100%;height:44px;padding:10px 12px;border:1px solid #bccdd7;border-radius:8px!important;font-size:15px;font-family:inherit}
.pf-ui-command-results {max-height:390px;overflow:auto;padding:0 8px 8px;scrollbar-width:thin}
.pf-ui-command-results>button {display:flex;align-items:center;gap:12px;width:100%;min-height:54px;border:0;border-radius:8px;padding:9px 12px;background:#fff;color:#304e59;cursor:pointer;text-align:left;font:14px "Segoe UI",sans-serif}
.pf-ui-command-results>button>span {flex:1;display:flex;flex-direction:column;gap:2px}
.pf-ui-command-results small {font-size:11px;color:#60737b}
.pf-ui-command-results>button:hover,.pf-ui-command-results>button[aria-selected="true"] {background:#eaf3f2;color:#004f4b}
.pf-ui-command-results>p {padding:20px;color:#60737b;text-align:center}
.pf-ui-dialog footer {padding:12px 20px;border-top:1px solid #e2e9ed;font-size:11px;color:#60737b;background:#f8fafb}
.pf-ui-settings-content {padding:20px 22px}
.pf-ui-settings-content p {margin:0 0 16px;color:#526571;line-height:1.5;font-size:13px}
.pf-ui-settings-content fieldset {padding:0;margin:0;border:0}
.pf-ui-settings-content legend {font-size:12px;font-weight:700;margin-bottom:8px}
.pf-ui-settings-content label {display:flex;align-items:center;gap:10px;padding:12px;margin:0 0 8px;border:1px solid #dce3e8;border-radius:8px;cursor:pointer}
.pf-ui-settings-content label:has(input:checked){background:#edf6f3;border-color:#81b6a8}
.pf-ui-settings-content input {width:17px;height:17px;accent-color:#006b65}
.pf-ui-settings-content label span {display:flex;flex-direction:column;gap:3px}.pf-ui-settings-content label small{color:#526571;font-size:12px}
.pf-ui-settings-content .pf-ui-key-help{margin-top:18px;padding-top:14px;border-top:1px solid #e2e9ed;display:grid;grid-template-columns:auto 1fr;gap:9px 14px;font-size:12px;color:#526571}
.pf-ui-settings-content kbd{font:11px "Segoe UI",sans-serif;background:#f0f4f6;border:1px solid #dce3e8;border-radius:4px;padding:2px 6px;white-space:nowrap}
.pf-ui-save-alert{position:fixed;bottom:16px;left:calc(var(--pf-ui-sidebar) + 24px);right:24px;z-index:15050;display:flex;align-items:center;gap:10px;border:1px solid #dca9af;border-left:4px solid #b12f35;border-radius:9px;background:#fff3f3;color:#8e252d;padding:12px 16px;font:13px/1.45 "Segoe UI",sans-serif;box-shadow:0 6px 24px #152a3c18}
.pf-ui-save-alert[hidden]{display:none}.pf-ui-save-alert .pf-ui-icon{flex:none}.pf-ui-save-alert strong{font-weight:700}
.pf-ui-skip{position:fixed;top:8px;left:240px;z-index:20000;transform:translateY(-150%);padding:12px 18px;border-radius:8px;background:#006b65;color:#fff;font-size:14px;text-decoration:none}.pf-ui-skip:focus{transform:none}
html body[data-pf-department] .app-shell.presentation-mode {display:block!important}
html body[data-pf-department] .app-shell.presentation-mode>.sidebar,html body[data-pf-department] .app-shell.presentation-mode .topbar {display:none!important}

@media(min-width:761px){
  html body[data-pf-nav="compact"] {--pf-ui-sidebar:72px}
  html body[data-pf-nav="compact"] .sidebar{padding:15px 8px 10px!important}
  html body[data-pf-nav="compact"] .sidebar .brand {flex-wrap:wrap;justify-content:center;gap:7px;padding:0 0 12px!important}
  html body[data-pf-nav="compact"] .sidebar .brand>span:not(.brand-mark){display:none}
  html body[data-pf-nav="compact"] .sidebar .pf-ui-collapse{margin:0;width:42px;height:24px}
  html body[data-pf-nav="compact"] .sidebar .pf-ui-collapse svg{transform:rotate(180deg)}
  html body[data-pf-nav="compact"] .sidebar :is(.nav-item,.pf-radio-menu-button){font-size:0!important;justify-content:center;gap:0;padding:8px!important;min-height:40px}
  html body[data-pf-nav="compact"] .sidebar .nav-item>em{display:none}
  html body[data-pf-nav="compact"] .sidebar .nav-group>small{font-size:0!important;height:7px;padding:0;margin:0 8px 5px;border-top:1px solid #e4eaee}
  html body[data-pf-nav="compact"] .sidebar .nav-group{margin-bottom:8px}
  html body[data-pf-nav="compact"] .sidebar .pf-department-select{font-size:0;justify-content:center;padding:6px;min-height:38px}
  html body[data-pf-nav="compact"] .sidebar .pf-department-select>span,html body[data-pf-nav="compact"] .sidebar .pf-department-select>i{display:none}
  html body[data-pf-nav="compact"] .sidebar .pf-department-select::before{content:attr(data-pf-abbr);font-size:11px;font-weight:750}
  html body[data-pf-nav="compact"] .sidebar .pf-department-options{left:58px;top:0;right:auto;width:190px}
  html body[data-pf-nav="compact"] .pf-ui-preferences{justify-content:center;padding:8px}.pf-ui-preferences:hover{background:#f0f5f4}
  html body[data-pf-nav="compact"] .pf-ui-preferences :is(span,small),html body[data-pf-nav="compact"] .pf-ui-save>span{display:none}
  html body[data-pf-nav="compact"] .pf-ui-save{justify-content:center;padding:8px}
}
@media(max-width:1380px){html body[data-pf-department] .topbar .pf-admin-view-copy{display:none}.pf-ui-jump kbd{display:none}}
@media(max-width:1100px){html body[data-pf-department] .topbar .global-search{width:170px}html body[data-pf-department] .topbar .top-user>div{display:none}html body[data-pf-department] .topbar .page-heading{min-width:125px}html body[data-pf-department] .page-content .pf-view-header .header-actions{width:auto}}
@media(max-width:760px){
  html body[data-pf-department] {--pf-ui-sidebar:0px;--pf-ui-space:14px;--pf-ui-control:44px}
  html body[data-pf-department] .app-shell{display:block!important}
  html body[data-pf-department] .sidebar{position:fixed!important;top:0;left:0;width:min(292px,86vw)!important;height:100dvh;padding:18px 12px!important;z-index:402}
  html body[data-pf-department] .sidebar .pf-ui-collapse{display:none}
  html body[data-pf-department] .sidebar .nav-item{min-height:44px}
  html body[data-pf-department] .sidebar nav{overflow-y:auto!important;display:block!important}
  html body[data-pf-department] .topbar{gap:8px;padding:10px 12px!important;min-height:68px!important;position:sticky!important}
  html body[data-pf-department] .topbar .page-heading{min-width:100px;flex:1}
  html body[data-pf-department] .topbar .page-heading h1{font-size:18px!important}
  html body[data-pf-department] .topbar .page-heading p{font-size:9px!important}
  html body[data-pf-department] .topbar .global-search{order:7;width:100%;margin-top:2px}
  html body[data-pf-department] .topbar .global-search input{height:40px}
  html body[data-pf-department] .topbar .team-switch{order:6!important;margin-left:auto!important}
  html body[data-pf-department] .topbar .top-user{padding-left:0;border-left:0}.topbar .top-user>span{display:none!important}
  html body[data-pf-department] .topbar .pf-menu-toggle{min-height:38px;padding:6px 8px;font-size:12px!important;border-radius:7px}
  html body[data-pf-department] .topbar .pf-menu-toggle>span{font-size:17px}
  html body[data-pf-department] .page-content .pf-view-header{margin-bottom:16px!important}
  html body[data-pf-department] .page-content .pf-view-header :is(h1,h2){font-size:23px!important}
  html body[data-pf-department] .pf-tier-wrap{padding-bottom:80px!important}
  html body[data-pf-department] .period-plan-title{padding:12px;align-items:flex-start}
  html body[data-pf-department] .period-plan-title h3{font-size:16px!important}
  html body[data-pf-department] .pf-status-picker button{min-width:42px;min-height:42px}
  .pf-ui-save-alert{left:12px;right:12px;bottom:76px;padding:10px 12px;font-size:12px}
  .pf-ui-skip{left:12px}
}
@media(prefers-reduced-motion:reduce){html body[data-pf-department] *,html body[data-pf-department] *::before,html body[data-pf-department] *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{
  html body[data-pf-department] .app-shell{display:block!important}
  html body[data-pf-department] :is(.sidebar,.topbar,.pf-ui-dialog,.pf-ui-save-alert,.pf-ui-skip){display:none!important}
  html body[data-pf-department] .page-content{padding:0!important;max-width:none!important}
  html body[data-pf-department] :is(.period-plan,.pf-tier-card,.feature-card){box-shadow:none!important;break-inside:avoid}
  html body[data-pf-department] :is(.matrix-line,.matrix-corner,.matrix-shift-label,.dle-line,thead){position:static!important}
}
