.np5-plan-visual { grid-column: 1; grid-row: 1 / span 2; min-width: 0; width: 100%; align-self: start; }
.np5-plan-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.np5-plan-tools .np5-plan-status { flex: 1 0 100%; margin: 4px 0 0; color: #182c42; font-size: 13px; font-weight: 600; line-height: 1.4; }
.np5-plan-tools button, .np5-plan-tools a, .np5-plan-close { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 52px; height: 52px; padding: 8px; border: 1px solid transparent; border-radius: 0; background: transparent; color: #182c42; cursor: pointer; text-decoration: none; }
.np5-plan-tools svg { display: block; width: 34px; height: 34px; }
.np5-plan-tools button:hover, .np5-plan-tools a:hover, .np5-plan-close:hover { background: #f3f1eb; }
.np5-plan-tools button[aria-pressed="true"] { border-color: #182c42; background: #f3f1eb; }
.np5-plan-tools button:disabled { opacity: .38; cursor: not-allowed; }
.np5-plan-tools button:disabled:hover { background: transparent; }
.np5-plan-tools button:focus-visible, .np5-plan-tools a:focus-visible, .np5-plan-close:focus-visible { outline: 2px solid #417ca9; outline-offset: 2px; }
.np5-plan-tools [data-plan-action="print"] { margin-left: 12px; }
.np5-plan-has-tools .np5-plan-visual { display: contents; }
.np5-plan-has-tools .np5-plan-tools { grid-column: 1 / -1; grid-row: 1; margin: 0; }
.npm-plan.np5-plan-has-tools { grid-template-rows: auto auto 1fr; row-gap: 16px; }
.npm-plan.np5-plan-has-tools .npm-plan-open { grid-column: 1; grid-row: 2 / span 2; }
.npm-plan.np5-plan-has-tools .npm-room-schedule { grid-column: 2; grid-row: 2; }
.npm-plan.np5-plan-has-tools > .npm-plan-copy { grid-column: 2; grid-row: 3; }
.np5-unified-panel .ph-plan-layout.np5-plan-has-tools { row-gap: 16px; }
.np5-unified-panel .ph-plan-layout.np5-plan-has-tools > .ph-plan-board { display: contents; }
.np5-unified-panel .ph-plan-layout.np5-plan-has-tools > div:first-child { grid-column: 2; grid-row: 2; }
.ph-plan-layout.np5-plan-has-tools .ph-enlarge { grid-column: 1; grid-row: 2; }
.np5-plan-visual .npm-plan-open > span, .np5-plan-visual .ph-enlarge > span { display: none; }
.np5-plan-visual img { transform-origin: center; }
.np5-plan-visual > .ph-enlarge { display: block; width: 100%; height: auto; margin: 0; padding: 0; }
.np5-plan-dialog { position: fixed; inset: 0; width: min(1600px, calc(100vw - 32px)); max-width: none; height: calc(100dvh - 32px); max-height: none; margin: auto; padding: 16px; border: 0; background: #fff; color: #182c42; }
.np5-plan-dialog::backdrop { background: rgba(11, 32, 70, .65); }
.np5-plan-dialog[open] { display: flex; flex-direction: column; }
.np5-plan-dialog header { flex: 0 0 auto; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid #dce1e5; padding-bottom: 8px; }
.np5-plan-dialog header strong { margin-right: auto; font-size: 15px; font-weight: 500; }
.np5-plan-dialog .np5-plan-tools { margin: 0; }
.np5-plan-close { flex: 0 0 auto; font-size: 30px; font-weight: 300; }
.np5-plan-dialog-body { display: flex; flex: 1; min-height: 0; justify-content: center; align-items: center; padding-top: 16px; overflow: hidden; }
.np5-plan-dialog-body img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 767px) {
  .npm-plan.np5-plan-has-tools .npm-plan-open { grid-column: 1; grid-row: 2; }
  .npm-plan.np5-plan-has-tools .npm-room-schedule { grid-column: 1; grid-row: 3; }
  .npm-plan.np5-plan-has-tools > .npm-plan-copy { grid-column: 1; grid-row: 4; }
  .np5-unified-panel .ph-plan-layout.np5-plan-has-tools > div:first-child { grid-column: 1; grid-row: 3; }
  .np5-plan-visual { grid-column: 1; grid-row: 1; }
  .np5-plan-dialog { width: calc(100vw - 16px); height: calc(100dvh - 16px); padding: 10px; }
  .np5-plan-dialog header { gap: 4px; }
  .np5-plan-dialog header strong { font-size: 13px; }
}
