.summary-window {
  position:fixed;display:flex;flex-direction:column;box-sizing:border-box;
  background:#fff;border:1px solid #ddd;border-radius:10px;
  box-shadow:0 4px 20px rgba(0,0,0,.18);z-index:260;overflow:hidden;
  min-width:min(460px,100vw);min-height:min(420px,100vh);
}
.summary-window .summary-window-box {display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;}
.summary-window .summary-window-header {cursor:move;touch-action:none;user-select:none;}
.summary-window .summary-view-controls {display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;background:#f8f9ff;flex-shrink:0;font-size:12px;}
.summary-window button.summary-view-button,.summary-window .summary-zoom-input {padding:6px 10px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#555;font:inherit;}
.summary-window button.summary-view-button {cursor:pointer;}
.summary-window button.summary-view-button[aria-pressed="true"] {background:#378add;border-color:#378add;color:#fff;}
.summary-window #sum-layout,.summary-window #planning-summary-layout {display:flex;gap:5px;}
.summary-window .summary-zoom-controls {display:flex;align-items:center;gap:5px;margin-left:auto;}
.summary-window .summary-zoom-input {width:66px;text-align:right;}
.summary-window #summary-body {flex:1;min-height:60px;overflow:auto;padding:12px 16px;overscroll-behavior:contain;}
.summary-window #summary-content {zoom:var(--summary-zoom,1);}
.summary-window #summary-content .summary-material-scroll {overflow:visible!important;max-height:none!important;}
.summary-window .summary-resize-handle {position:absolute;z-index:5;background:transparent;touch-action:none;}
.summary-subtotal-controls {display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:6px 0;font-size:11px;}
.summary-subtotal-controls label {display:inline-flex;align-items:center;gap:4px;cursor:pointer;}
.summary-subtotal-color {display:inline-block;box-sizing:border-box;width:14px;height:14px;border:1px solid #aeb8c6;border-radius:3px;flex-shrink:0;}
.summary-subtotal-controls button.summary-view-button,.summary-selection-bar button.summary-view-button {padding:4px 8px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#555;font:inherit;cursor:pointer;}
.summary-selection-bar {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:7px 16px;border-top:1px solid #e0e8f5;background:#f8f9ff;color:#345;font-size:12px;flex-shrink:0;}
td[data-sum-value] {cursor:pointer;user-select:none;}
td.summary-cell-selected {background:#dcecff!important;box-shadow:inset 0 0 0 2px #378add;}
td[data-sum-value]:focus-visible {outline:2px solid #1a5fa8;outline-offset:-3px;}
.summary-selection-bar[hidden],.summary-subtotal-controls[hidden] {display:none;}

#summary-planning-overlay.summary-window {z-index:270;}
.summary-window > .planning-box {display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:none;border-radius:0;box-shadow:none;}
.summary-window .planning-head,.summary-window .planning-bar {flex-shrink:0;}
.summary-window > .planning-box > #planning-bar {max-height:28%;overflow:auto;}
.summary-window .planning-body {flex:1;min-height:60px;overscroll-behavior:contain;}
.summary-window #planning-saved-table {zoom:var(--summary-zoom,1);}
.summary-window #planning-saved-table .summary-material-scroll {overflow:visible!important;max-height:none!important;}
.summary-window .planning-head #planning-close {background:none;border:none;color:#fff;font-size:18px;padding:0;}
.summary-window .planning-box button.summary-view-button {padding:6px 10px;}
.summary-window .planning-box button.summary-view-button[aria-pressed="true"] {background:#378add;border-color:#378add;color:#fff;}
.summary-window .planning-box .summary-zoom-input {width:66px;padding:6px 10px;}

.summary-window-actions {display:flex;align-items:center;gap:4px;flex-shrink:0;}
.summary-window-actions .summary-maximize {display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:inherit;cursor:pointer;}
.summary-maximize svg {width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.3;}
.summary-window.summary-maximized {border-radius:0;}
.summary-maximized .summary-resize-handle {display:none;}
.summary-maximized .summary-window-header {cursor:default;}
