.calculator-drawer-header { gap: 8px; }
.calculator-drawer-footer { max-height: 65%; overflow-y: auto; overscroll-behavior: contain; }
/* Shared palette follows standard, glass and violet in both colour modes. */
html:root body .calculator-proposal-review { position: relative; border: 1px solid var(--dk-border, #e5e7eb); border-radius: 12px; background: var(--dk-surface-3, #f8fafc); color: var(--dk-text-primary, #1f2937); font-size: 13px; line-height: 1.4; }
.calculator-review-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 8px 12px 8px 44px; font-weight: 600; cursor: pointer; list-style: none; border-radius: 11px; white-space: nowrap; }
.calculator-review-details > summary::-webkit-details-marker { display: none; }
html:root body .calculator-review-details > summary:hover { background: var(--dk-hover, #f1f5f9); }
html:root body .calculator-review-details > summary:focus-visible { outline: 2px solid var(--dk-link, #059669); outline-offset: -2px; }
.calculator-review-chevron { width: 8px; height: 8px; margin: 0 4px 4px; flex-shrink: 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.calculator-review-details[open] .calculator-review-chevron { transform: translateY(4px) rotate(225deg); }
.calculator-review-content { padding: 0 12px 10px; overflow-wrap: anywhere; overscroll-behavior: contain; }
html:root body .calculator-review-confirmation { position: absolute; z-index: 1; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer; }
html:root body .calculator-review-confirmation input { flex-shrink: 0; width: 16px; height: 16px; margin: 0; accent-color: var(--dk-link, #059669); }
.calculator-drawer-actions { display: flex; align-items: center; gap: 6px; min-width: 0; }
.calculator-export-actions { flex: none; }
.calculator-export-actions:empty { display: none; }
.calculator-export-actions .export-button-container { display: flex; gap: 6px; width: auto; }
.calculator-export-actions .export-button-container button { flex: none; width: 44px; height: 44px; padding: 0; }
.calculator-export-actions .export-button-container button > span { display: none; }
.calculator-send-proposal { flex: 1; min-width: 0; min-height: 44px; padding: 8px; font-size: 13px; white-space: nowrap; }
.calculator-caption-action { display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; }
.calculator-drawer-actions button:focus-visible { outline: 2px solid var(--dk-link, #059669); outline-offset: 2px; }
@media (max-width: 360px) {
  .calculator-drawer-actions { gap: 4px; }
  .calculator-export-actions .export-button-container { gap: 4px; }
  .calculator-send-proposal { font-size: 12px; padding-inline: 4px; }
  .calculator-review-details > summary { font-size: 12px; }
}
.calculator-drawer-window-actions { display: flex; align-items: center; flex-shrink: 0; gap: 4px; }
.calculator-minimize { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; }
.calculator-minimize:disabled { opacity: .5; cursor: wait; }
.calculator-sync-status { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 6px 16px; color: #047857; background: #ecfdf5; font-size: 12px; }
.calculator-sync-status[data-status="offline"], .calculator-sync-status[data-status="conflict"] { color: #92400e; background: #fffbeb; }
.calculator-sync-status button { text-decoration: underline; text-underline-offset: 3px; padding: 4px 0; font-weight: 600; }
.calculator-sync-choices { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.calculator-sync-loading { position: fixed; z-index: 1110; top: 12px; right: 12px; max-width: calc(100vw - 24px); padding: 16px; display: flex; gap: 20px; border: 1px solid #059669; border-radius: 12px; background: #ecfdf5; color: #064e3b; }
.dark .calculator-sync-status { background: #153b35; color: #a7f3d0; }
.dark .calculator-sync-status[data-status="offline"], .dark .calculator-sync-status[data-status="conflict"] { background: #42321b; color: #fde68a; }
.calculator-resume {
  position: fixed;
  z-index: 1110;
  top: max(12px, env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right));
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: calc(100vw - 24px);
  padding: 12px 14px;
  border: 1px solid #059669;
  border-radius: 14px;
  background: #ecfdf5;
  color: #064e3b;
  box-shadow: 0 6px 24px #0002;
  text-align: left;
  cursor: pointer;
}
.calculator-resume:hover { background: #d1fae5; }
.calculator-resume:focus-visible, .calculator-minimize:focus-visible { outline: 2px solid #10b981; outline-offset: 3px; }
.calculator-resume-icon { width: 20px; height: 20px; flex-shrink: 0; }
.calculator-resume-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.calculator-resume-title { font-size: 14px; font-weight: 600; }
.calculator-resume-summary { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dark .calculator-resume { background: #153b35; color: #d1fae5; border-color: #34d399; }
.dark .calculator-resume:hover { background: #1c4c43; }
@media (max-width: 480px) {
  .calculator-drawer-header { padding: 10px 12px; }
  .calculator-drawer-header h2 { font-size: 14px; }
  .calculator-minimize { flex-direction: column; gap: 0; font-size: 10px; }
}
