/* A compact workspace rail without an independent scroll region. */
.psg-panel .p-sidebar {
  padding: 16px 16px 12px;
  overflow: visible;
  height: auto;
  min-height: 100dvh;
  bottom: auto;
}
.psg-panel .p-sidebar > .p-brand { margin: 0 0 10px; min-height: 56px; }
.psg-panel .p-sidebar-label { margin: 5px 11px 4px; font-size: 12px; }
.psg-panel .p-sidebar nav { gap: 0; }
.psg-panel .p-nav-link { min-height: 44px; padding: 7px 12px; font-size: 14px; border-radius: 8px; }
.psg-panel .p-sidebar-bottom { margin-top: 8px; padding-top: 0; }
.psg-panel .p-sidebar-user { margin-top: 7px; padding-top: 9px; }
.psg-panel .p-sidebar-user > img { width: 36px; height: 36px; }
.psg-panel .p-brand { color: #a77c31; }
.psg-panel .p-company-logo { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; padding: 9px 14px; background: #303133; border-radius: 9px; }
.psg-panel .p-company-logo-image { display: block; width: auto; max-width: 100%; max-height: 58px; height: auto; object-fit: contain; }
.psg-panel .p-brand .brand-emblem { display: block; flex: 0 0 37px; }
.psg-panel .p-brand .brand-emblem svg { display: block; width: 37px; height: 44px; }
.psg-panel .p-brand .psg-wordmark b { display: block; color: #37495e; font-size: 13px; }
.psg-panel .p-brand .psg-wordmark small { display: block; color: #6b7d90; font-size: 10px; white-space: normal; }
.psg-panel .p-login-brand .p-brand { width: min(100%, 330px); }
.psg-panel .p-login-brand .p-company-logo-image { max-height: 90px; }
.psg-panel .p-blog-intro h2 { margin: 3px 0 8px; font-size: 23px; }
.psg-panel .p-blog-intro p { color: #5b6f82; font-size: 14px; line-height: 1.9; }
.psg-panel .p-blog-create { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.psg-panel .p-blog-filters { margin: 0 0 20px; flex-wrap: wrap; }
.psg-panel .p-blog-table { min-width: 760px; }
.psg-panel .p-blog-table td { font-size: 14px; }
.psg-panel .p-blog-thumb { display: grid; place-items: center; flex: 0 0 54px; width: 54px; height: 54px; background: #edf4f8; color: #5b7c90; border: 1px solid #dce7ee; border-radius: 9px; overflow: hidden; }
.psg-panel .p-blog-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.psg-panel .p-blog-thumb.is-document { padding: 5px; background: #f5f1e9; color: #947031; }
.psg-panel .p-blog-thumb.is-document img { object-fit: contain; }
.psg-panel .p-blog-table .p-content-title b { white-space: normal; overflow-wrap: anywhere; }
.psg-panel .p-blog-table .p-content-title small { display: block; font-size: 12px; color: #6d7f91; }
.psg-panel .p-confirm-dialog { max-width: min(460px, calc(100vw - 32px)); width: 100%; padding: 28px; border: 1px solid #dce5ee; border-radius: 18px; color: #304258; background: #fff; box-shadow: 0 24px 80px #173b4e35; font: inherit; }
.psg-panel .p-confirm-dialog::backdrop { background: #173b4e68; backdrop-filter: blur(3px); }
.psg-panel .p-confirm-title { margin: 0 0 10px; font-size: 21px; }
.psg-panel .p-confirm-copy { margin: 0 0 22px; line-height: 1.9; font-size: 15px; }
.psg-panel .p-confirm-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.psg-panel .p-confirm-actions .p-button-danger { background: #b52e49; color: #fff; border-color: #b52e49; }
@media (min-width: 801px) and (max-height: 650px) {
  .psg-panel .p-sidebar { position: sticky; float: right; top: 0; min-height: 100vh; }
  .psg-panel .p-sidebar > .p-brand { min-height: 43px; margin-bottom: 5px; }
  .psg-panel .p-company-logo-image { max-height: 38px; }
  .psg-panel .p-nav-link { min-height: 40px; padding-block: 5px; }
  .psg-panel .p-sidebar-label { margin-block: 0; }
}
@media (max-width: 800px) {
  /* The expanded rail participates in page scrolling on short/mobile screens. */
  .psg-panel.is-sidebar-open .p-sidebar { position: absolute; top: 0; min-height: 100dvh; z-index: 60; }
  .psg-panel .p-sidebar { width: 282px; }
  .psg-panel .p-workspace { margin-right: 0; }
  .psg-panel .p-blog-create { flex-direction: column; align-items: stretch; }
  .psg-panel .p-blog-create .p-button { width: 100%; }
}
@media print { .psg-panel .p-sidebar, .psg-panel .p-confirm-dialog { display: none; } }
