.toolbar button.restoration-tool {
  background: #f1edf7;
  color: #665376;
}

.toolbar button.restoration-tool:hover {
  background: #e7dff1;
}

.toolbar button.restoration-tool.active {
  background: #ded1ec;
  color: #593c70;
  box-shadow: inset 3px 0 #7b4ca0;
}

.restoration-menu {
  position: absolute;
  z-index: 8;
  left: 12px;
  top: 12px;
  width: 250px;
  padding: 10px;
  border: 1px solid #cdbdde;
  border-radius: 10px;
  background: #fcfafff5;
  box-shadow: 0 10px 30px #38264935;
}

.restoration-menu[hidden] { display: none; }
.restoration-menu header { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px 9px; color: #593c70; }
.restoration-menu header button { border: 0; background: transparent; color: #665376; font-size: 22px; cursor: pointer; }
.restoration-menu-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
.restoration-menu-grid button { min-height: 58px; border: 0; border-radius: 7px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; }
.restoration-menu-grid button.restoration-tool { background: #f1edf7; color: #665376; }
.restoration-menu-grid button.restoration-tool:hover { background: #e7dff1; }
.restoration-menu-grid button.restoration-tool.active { background: #ded1ec; color: #593c70; box-shadow: inset 3px 0 #7b4ca0; }
.restoration-menu-grid button b { font-size: 21px; font-weight: 500; }
.restoration-menu-grid button span { font-size: 10px; }
.restoration-menu-grid .wide { grid-column: 1 / -1; }

.area-balance-dialog { width: min(520px, calc(100vw - 32px)); max-width: 520px; }
.area-balance-dialog form { padding: 0; }
.area-balance-dialog header { display: flex; justify-content: space-between; padding: 20px 24px 14px; border-bottom: 1px solid var(--line); }
.area-balance-dialog header h2 { margin: 0; }
.area-balance-dialog header p { margin: 5px 0 0; }
.area-balance-dialog header button { border: 0; background: transparent; color: var(--muted); font-size: 25px; cursor: pointer; }
.area-balance-results { padding: 18px 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.area-balance-results div { padding: 10px 12px; border-radius: 6px; background: #f5f1f9; }
.area-balance-results small { display: block; color: var(--muted); margin-bottom: 3px; }
.area-balance-results strong { color: #593c70; }
.area-balance-results .warning { grid-column: 1 / -1; background: #fff4df; color: #8b5a12; }
