/* v1.1.45 visual repair. Loaded after legacy inline styles deliberately.
   Scoped to content components; authentication/session-lock UI is untouched. */
body > .navbar {
  height:auto !important; min-height:84px !important;
  padding:0 max(20px,calc((100vw - 1400px)/2)) !important;
  background:#06294e !important; gap:20px; flex-wrap:wrap;
  position:relative !important;
}
body > .navbar .navbar-brand {
  flex:0 0 218px; width:218px !important; height:84px !important;
  padding:5px 10px !important; justify-content:center;
}
body > .navbar .navbar-brand img {
  width:100% !important; max-width:100% !important; height:100% !important;
  object-fit:contain !important; transform:none !important;
}
body > .navbar .nav-links {
  flex:1 1 660px; min-width:0; width:auto !important; margin:0;
  display:flex !important; flex-wrap:wrap !important; justify-content:flex-end;
  gap:4px !important; padding:8px 0 !important;
}
body > .navbar .nav-links li {flex:0 0 auto;}
body > .navbar .nav-links a, body > .navbar .nav-links button {
  display:inline-flex; align-items:center; min-height:44px !important;
  padding:10px !important; font-size:.875rem !important; line-height:1.4;
}
.pj-dashboard-overview-inner {height:auto !important; min-height:0 !important; overflow:visible !important;}
.pj-dashboard-overview .hero {
  height:auto !important; min-height:360px !important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) !important;
  overflow:visible !important; gap:0 !important;
}
.pj-dashboard-overview .hero-left {min-width:0; padding:32px 32px 32px max(24px,calc((100vw - 1400px)/2)) !important;}
.pj-dashboard-overview .hero h1 {font-size:clamp(1.8rem,2.7vw,2.65rem) !important; line-height:1.15 !important;}
.pj-dashboard-overview .hero p {font-size:1rem !important; line-height:1.6 !important; margin:12px 0 20px !important;}
.pj-dashboard-overview .hero-search-box {grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:8px !important; padding:8px !important;}
.pj-dashboard-overview .hero-search-box input, .pj-dashboard-overview .hero-search-box select,
.pj-dashboard-overview .hero-search-box button {height:44px !important; min-height:44px !important; font-size:1rem !important; border:1px solid #dbe3ea !important; border-radius:5px !important;}
.pj-dashboard-overview .hero-left > div:last-child .btn {min-height:44px !important; font-size:.9rem !important; padding:10px 16px !important;}
.pj-dashboard-overview .hero-visual {height:auto !important; min-height:300px; width:100% !important; margin:0 !important;}
.pj-dashboard-overview .hero-visual img {position:absolute; inset:0;}
.pj-dashboard-overview .metrics {
  position:relative !important; right:auto !important; bottom:auto !important;
  width:auto !important; max-width:1400px; margin:0 auto !important;
  border-radius:0 !important; box-shadow:none !important; padding:18px !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.pj-dashboard-overview .metric-card {min-width:0; min-height:90px !important; padding:8px !important;}
.pj-dashboard-overview .metric-card strong {font-size:1.6rem !important;}
.pj-dashboard-overview .metric-card > span:last-child {font-size:.8rem !important; line-height:1.4;}
.pj-bayanihan-promo {gap:20px; flex-wrap:wrap; padding:24px max(24px,calc((100vw - 1400px)/2));}
.pj-bayanihan-promo-copy {flex:1 1 580px; min-width:0; align-items:flex-start;}
.pj-bayanihan-promo-copy > div {min-width:0;}
.pj-bayanihan-promo h2 {font-size:1.15rem; line-height:1.4; margin-bottom:8px;}
.pj-bayanihan-promo p {font-size:.9rem; line-height:1.6; max-width:78ch;}
.pj-bayanihan-promo .btn {display:inline-flex !important; min-height:44px; white-space:normal; justify-content:center;}
.pj-bayanihan-promo a.btn {background:transparent; border:1px solid #9dbbd2; color:#fff;}
.pj-bayanihan-impact {grid-template-columns:auto minmax(0,1fr) minmax(140px,auto); padding:20px; gap:20px;}
.pj-bayanihan-impact p {font-size:.95rem;}
.pj-bayanihan-rules {font-size:.85rem;}
.pj-bayanihan-score span {font-size:.7rem;}
#explore.pj-section {padding:32px 24px !important;}
#explore .pj-section-heading h2 {font-size:1.5rem !important;}
#explore .pj-section-heading p {font-size:.95rem !important; line-height:1.6 !important;}
#explore .pj-project-toolbar {grid-template-columns:minmax(0,1fr) 200px !important; margin:18px 0 !important;}
#explore .pj-project-toolbar input, #explore .pj-project-toolbar select {min-height:44px !important; height:44px !important; font-size:1rem !important;}
.pj-project-grid {grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:20px !important;}
.project-card {min-width:0; border-radius:12px !important;}
.pj-project-cover {height:180px !important; flex-basis:180px !important;}
.pj-project-card-body {min-height:0 !important; padding:18px !important;}
.project-card h3 {font-size:1rem !important; line-height:1.45 !important; margin-bottom:10px !important;}
.pj-location, .pj-card-agency {font-size:.85rem !important; line-height:1.5 !important; margin-bottom:6px !important;}
.pj-card-footer {gap:8px; flex-wrap:wrap; padding-top:12px !important;}
.pj-card-footer .btn, .pj-card-more {min-height:44px !important; font-size:.85rem !important; padding:9px 12px !important;}
.pj-photo-count, .pj-project-cover .pj-status {font-size:.75rem !important; padding:5px 8px !important;}
.pj-action-band {margin:0 auto 32px !important; padding:16px !important;}
.pj-action-cell {min-width:0; padding:16px !important;}
.pj-action-cell h3 {font-size:1rem !important; line-height:1.4;}
.pj-action-cell p {font-size:.9rem !important; line-height:1.6 !important;}
.pj-action-cell .btn {min-height:44px !important; font-size:.85rem !important;}
#dashboard {max-width:1440px; margin-inline:auto; padding-inline:24px;}
#dashboard .pj-identity-panel {padding:24px; margin-bottom:24px; min-width:0;}
#dashboard .pj-identity-panel h3 {font-size:1.15rem; line-height:1.4;}
#dashboard .pj-identity-panel p {line-height:1.6;}
.pj-super-summary {grid-template-columns:repeat(5,minmax(0,1fr));}
.pj-managed-profile-grid > div, .pj-managed-profile-grid dd, .pj-admin-version-status dd {min-width:0; overflow-wrap:anywhere;}
.pj-user-access-table-wrap {max-width:100%; overscroll-behavior-inline:contain;}
.pj-user-access-table {font-size:.9rem;}
.pj-user-access-table th {font-size:.75rem;}
.pj-user-access-table td {overflow-wrap:anywhere; max-width:340px;}
.pj-user-access-table td button {min-height:44px; padding:8px 12px; border:1px solid #9fbbd2; border-radius:6px; background:#f4f9fd; color:#0b4f86; font:inherit; cursor:pointer;}
.pj-messages-panel *, .pj-admin-messages-panel * {box-sizing:border-box;}
.pj-message-compose[hidden], .pj-thread-conversation[hidden], .pj-admin-messages-panel tr[hidden] {display:none !important;}
.pj-message-compose {padding:20px; grid-template-columns:repeat(2,minmax(0,1fr));}
.pj-message-compose label {min-width:0; font-size:.9rem;}
.pj-message-compose label:has(textarea), .pj-message-compose .pj-message-actions, .pj-message-compose .pj-form-message {grid-column:1/-1;}
.pj-message-compose input, .pj-message-compose select, .pj-message-compose textarea, .pj-message-reply-form textarea {font-size:1rem; min-width:0; max-width:100%; min-height:44px;}
.pj-message-compose textarea, .pj-message-reply-form textarea {resize:vertical;}
.pj-message-thread-summary {min-height:44px; font:inherit;}
.pj-message-thread-summary span {min-width:0; overflow-wrap:anywhere;}
.pj-message-thread > p, .pj-message-bubble {overflow-wrap:anywhere; min-width:0;}
.pj-message-bubble {width:fit-content; max-width:85%; font-size:.95rem; line-height:1.6;}
.pj-message-bubble small {opacity:1; color:#52687e; font-size:.8rem;}
.pj-message-reply-form {display:grid; grid-template-columns:minmax(0,1fr) auto;}
.pj-message-reply-form textarea {min-width:0;}
.pj-message-actions .btn, .pj-message-reply-form .btn {min-height:44px;}
.pj-messages-panel :focus-visible, .pj-admin-messages-panel :focus-visible, body > .navbar :focus-visible {outline:3px solid #e79b13; outline-offset:3px;}
@media(max-width:1100px) {
  body > .navbar {gap:0; padding:0 !important;}
  body > .navbar .navbar-brand {margin:auto; flex-basis:218px;}
  body > .navbar .nav-links {flex:1 0 100%; justify-content:center; padding:8px 12px !important;}
  .pj-project-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .pj-action-band {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .pj-action-cell {border-right:0 !important;}
}
@media(max-width:1000px) {
  .pj-dashboard-overview .hero {grid-template-columns:minmax(0,1fr) !important; min-height:0 !important;}
  .pj-dashboard-overview .hero-visual {height:240px !important; min-height:0; clip-path:none !important;}
  .pj-dashboard-overview .hero-visual::before {display:none;}
  .pj-dashboard-overview .hero-left {padding:28px 24px !important;}
}
@media(max-width:700px) {
  body > .navbar .navbar-brand {width:190px !important; height:70px !important; flex-basis:190px;}
  body > .navbar .nav-links {gap:2px !important;}
  body > .navbar .nav-links a, body > .navbar .nav-links button {font-size:.8rem !important; padding:8px !important;}
  .pj-bayanihan-promo {padding:20px 16px; gap:12px;}
  .pj-bayanihan-promo-copy {flex-basis:100%; gap:12px;}
  .pj-bayanihan-promo .btn {flex:1 1 180px;}
  .pj-bayanihan-mark {flex-basis:36px; width:36px; height:36px; font-size:1.1rem;}
  .pj-bayanihan-impact {grid-template-columns:auto minmax(0,1fr); padding:16px; gap:12px;}
  .pj-bayanihan-rules {grid-column:1/-1; text-align:left;}
  .pj-super-summary {grid-template-columns:repeat(2,minmax(0,1fr));}
  #dashboard {padding-inline:16px;}
  #dashboard .pj-identity-panel {padding:16px;}
  .pj-message-compose {padding:12px; grid-template-columns:minmax(0,1fr);}
  .pj-message-reply-form {grid-template-columns:minmax(0,1fr);}
  .pj-message-bubble {max-width:95%;}
  .pj-admin-messages-panel .pj-user-access-table {min-width:0;}
  .pj-admin-messages-panel .pj-user-access-table thead {display:none;}
  .pj-admin-messages-panel .pj-user-access-table tr {display:grid; grid-template-columns:minmax(0,1fr); padding:14px; border-bottom:1px solid #dce5ef;}
  .pj-admin-messages-panel .pj-user-access-table td {display:block; max-width:none; padding:6px 0; border:0;}
  .pj-admin-messages-panel .pj-user-access-table td[data-label]::before {content:attr(data-label); display:block; font-size:.75rem; font-weight:700; color:#52687e; margin-bottom:2px;}
}
@media(max-width:600px) {
  .pj-dashboard-overview .hero-left {padding:24px 16px !important;}
  .pj-dashboard-overview .hero-search-box {grid-template-columns:minmax(0,1fr) !important;}
  .pj-dashboard-overview .metrics {grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important;}
  .pj-dashboard-overview .metric-card {border:0 !important;}
  #explore.pj-section {padding:24px 16px !important;}
  #explore .pj-project-toolbar {grid-template-columns:minmax(0,1fr) !important; gap:10px;}
  .pj-project-grid {grid-template-columns:minmax(0,1fr) !important;}
  .pj-project-cover {height:210px !important; flex-basis:210px !important;}
  .pj-action-band {grid-template-columns:minmax(0,1fr) !important; margin:0 16px 24px !important;}
}
