.app-shell.plan-editor-shell { --app-header-height: 0px; padding-top: 0; }
.plan-editor-shell .notification-permission-hint { display: none; }
.plan-editor, .plan-dialog-overlay {
  --plan-ink: #172334;
  --plan-muted: #657184;
  --plan-line: #e5e9ef;
  --plan-surface: #fff;
  --plan-soft: #f3f5f8;
  --plan-blue: #2463eb;
  --plan-blue-soft: #edf3ff;
  --plan-attention: #805000;
  --plan-attention-soft: #fff4de;
  --plan-danger: #b42336;
  color: var(--plan-ink);
}
.dark .plan-dialog-overlay, .plan-editor.dark {
  --plan-ink: #edf2f9;
  --plan-muted: #a2aec0;
  --plan-line: #2b3748;
  --plan-surface: #151f2e;
  --plan-soft: #0d1623;
  --plan-blue: #8bb4ff;
  --plan-blue-soft: #1d304e;
  --plan-attention: #ffd18a;
  --plan-attention-soft: #392b18;
  --plan-danger: #ffb4bf;
}
.plan-editor button, .plan-dialog button {
  cursor: pointer;
}
.plan-editor button:disabled, .plan-dialog button:disabled {
  cursor: default; opacity: .45;
}
.plan-editor :focus-visible, .plan-dialog :focus-visible {
  outline: 2px solid var(--plan-blue); outline-offset: 3px;
}
.plan-dialog-overlay {
  position: fixed; inset: 0; z-index: 10000; padding: 24px;
  display: grid; place-items: center; background: rgb(13 22 35 / 55%);
}
.plan-dialog {
  width: min(860px, 100%); max-height: calc(100dvh - 48px);
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid var(--plan-line); border-radius: 22px;
  background: var(--plan-surface); color: var(--plan-ink);
  box-shadow: 0 24px 80px rgb(0 0 0 / 20%);
  animation: plan-dialog-enter 140ms ease-out both;
  font-size: 14px;
}
.plan-dialog.is-compact { width: min(480px, 100%); }
.dark .plan-dialog-overlay .plan-dialog {
  background-color: var(--plan-surface) !important;
  color: var(--plan-ink) !important;
}
.plan-dialog > header, .plan-dialog > footer {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-shrink: 0; padding: 20px 24px;
}
.plan-dialog > header { border-bottom: 1px solid var(--plan-line); }
.plan-dialog > footer { border-top: 1px solid var(--plan-line); justify-content: flex-end; }
.plan-dialog h2 { font-size: 22px; font-weight: 650; line-height: 1.3; margin: 0; }
.plan-dialog header p, .plan-muted { color: var(--plan-muted); font-size: 13px; margin: 0 0 4px; }
.plan-dialog-content { padding: 24px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; flex: 1 1 auto; }
.plan-dialog-content > * + * { margin-top: 20px; }
.plan-dialog p { line-height: 1.6; }
.plan-dialog button, .plan-tools button, .plan-editor-controls button, .plan-tool-panel button, .plan-selection button {
  min-height: 44px; min-width: 44px; padding: 10px 14px;
  display: inline-flex; justify-content: center; align-items: center; gap: 8px;
  border-radius: 12px; border: 1px solid var(--plan-line);
  background: var(--plan-surface); color: var(--plan-ink); font-size: 14px;
}
.plan-dialog .plan-primary, .plan-editor .plan-primary {
  background: #2463eb; color: white; border-color: #2463eb;
}
.plan-dialog .plan-danger { background: #b42336; color: white; border-color: #b42336; }
.plan-step-icon { color: var(--plan-blue); background: var(--plan-blue-soft); padding: 16px; width: fit-content; border-radius: 16px; }
.plan-field { display: grid; gap: 8px; color: var(--plan-ink); font-size: 14px; font-weight: 550; }
.plan-field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .plan-field textarea, .plan-field select {
  width: 100%; min-width: 0; padding: 12px 14px; min-height: 48px; font-size: 16px;
  border: 1px solid var(--plan-line); border-radius: 12px; color: var(--plan-ink);
  background: var(--plan-soft); font-weight: 400;
}
.plan-field textarea { min-height: 130px; resize: vertical; }
.plan-segments { display: flex; gap: 8px; flex-wrap: wrap; }
.plan-segments button { flex: 1; }
.plan-symbol-form-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plan-symbol-form-categories button { min-width: 0; padding: 8px; overflow-wrap: break-word; }
.plan-quote-navigation { display: grid; gap: 12px; padding: 12px 0; }
.plan-quote-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.plan-quote-tabs button { min-width: 0; padding: 8px; }
.plan-dialog button[aria-pressed="true"], .plan-tools button[aria-pressed="true"], .plan-tool-panel button[aria-pressed="true"] {
  color: var(--plan-blue); background: var(--plan-blue-soft); border-color: var(--plan-blue);
}
.plan-error { color: #b42336; background: #fff0f2; border-radius: 12px; padding: 12px 16px; }
.plan-calibration-notice { color: var(--plan-attention); background: var(--plan-attention-soft); border-radius: 12px; padding: 12px 16px; }
.dark .plan-error { color: #ffb4bf; background: #3c202b; }
.plan-editor-header {
  background: #152132; color: white; display: flex; align-items: center;
  gap: 12px; padding: 12px 20px; flex-shrink: 0; z-index: 45; border-top: 1px solid #2b3748;
  padding-top: max(12px, env(safe-area-inset-top));
}
.plan-editor-header button, .plan-editor-header a {
  min-height: 44px; min-width: 44px; padding: 10px 12px; display: inline-flex;
  align-items: center; justify-content: center; gap: 8px; border-radius: 12px;
  border: 1px solid #3e4b5d; color: white; font-size: 14px; background: transparent;
}
.plan-editor-identity { flex: 1; min-width: 0; }
.plan-header-secondary { display: flex; align-items: center; gap: 12px; }
.plan-editor-identity h1 { font-size: 17px; font-weight: 650; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.plan-editor-identity p { font-size: 12px; color: #c5cfdd; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plan-tools { width: 92px; flex-shrink: 0; padding: 12px 8px; display: flex; flex-direction: column; gap: 10px; background: var(--plan-surface); border-right: 1px solid var(--plan-line); z-index: 40; }
.plan-tools button { flex-direction: column; gap: 5px; font-size: 12px; border-color: transparent; padding: 10px 4px; min-height: 64px; }
.plan-tools button svg, .plan-editor-controls button svg, .plan-dialog button svg { color: inherit; stroke: currentColor; }
.plan-tool-panel {
  position: absolute; top: 12px; left: 104px; z-index: 42; width: 292px; max-height: calc(100% - 24px);
  overflow-y: auto; padding: 16px; background: var(--plan-surface); border: 1px solid var(--plan-line);
  border-radius: 18px; box-shadow: 0 12px 32px rgb(0 0 0 / 12%);
}
.plan-tool-panel header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; font-weight: 650; }
.plan-tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.plan-tool-panel .plan-tool-grid button { justify-content: flex-start; }
.plan-tool-panel .plan-tool-style { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--plan-line); display: grid; gap: 12px; }
.plan-tool-panel label { color: var(--plan-muted); font-size: 13px; }
.plan-tool-panel input[type="color"] { width: 44px; height: 44px; }
.plan-editor-controls { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 30; display: flex; gap: 4px; padding: 6px; border: 1px solid var(--plan-line); border-radius: 16px; background: var(--plan-surface); }
.plan-editor-controls button { border-color: transparent; padding: 8px; white-space: nowrap; flex-shrink: 0; }
.plan-editor-controls .plan-control-divider { width: 1px; background: var(--plan-line); margin: 6px; }
.plan-selection { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); z-index: 35; padding: 8px; display: flex; gap: 6px; max-width: calc(100% - 24px); background: var(--plan-surface); border: 1px solid var(--plan-line); border-radius: 16px; }
.plan-guidance { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); z-index: 35; width: max-content; max-width: calc(100% - 24px); padding: 10px 16px; background: var(--plan-surface); border: 1px solid var(--plan-line); border-radius: 16px; display: flex; align-items: center; gap: 12px; font-size: 14px; }
.plan-guidance button { min-height: 44px; min-width: 44px; }
.plan-menu-list { display: grid; gap: 8px; }
.plan-menu-list button { justify-content: flex-start; text-align: left; }
.plan-menu-list .plan-menu-section { color: var(--plan-muted); font-size: 12px; padding-top: 14px; }
.plan-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.plan-form-grid .full-width { grid-column: 1 / -1; }
.plan-marker-preview { height: 104px; display: flex; align-items: center; justify-content: center; gap: 12px; background: var(--plan-soft); border-radius: 16px; color: var(--plan-blue); }
.plan-measure-vertex { position: absolute; z-index: 34; width: 44px; height: 44px; border: 2px solid #2463eb; border-radius: 50%; background: #fff; color: #172334; font-size: 14px; }
.plan-measure-origin { position: absolute; z-index: 34; width: 10px; height: 10px; border: 2px solid #2463eb; border-radius: 50%; background: #fff; pointer-events: none; }
.plan-measure-guidance { top: auto; bottom: 88px; flex-wrap: wrap; font-variant-numeric: tabular-nums; }
.plan-measure-guidance > span { min-width: 100px; font-weight: 600; }
.plan-measure-error { flex-basis: 100%; margin: 0; color: #b42336; }
.dark .plan-measure-error { color: #ffb4bf; }
.plan-precision-loupe { position: fixed; z-index: 48; width: 120px; height: 120px; border: 2px solid #2463eb; border-radius: 60px; background: white; box-shadow: 0 8px 24px rgb(0 0 0 / 20%); pointer-events: none; }
.plan-measure-guidance .plan-primary { padding: 8px 14px; border-radius: 10px; }
.plan-file-link { min-height: 44px; padding: 12px 14px; color: var(--plan-blue); }
.plan-photo-footer { display: flex; justify-content: flex-end; gap: 12px; padding: 16px 24px; border-top: 1px solid var(--plan-line); }
.plan-photo-footer button { border-radius: 12px; padding: 10px 16px; border: 1px solid var(--plan-line); }
.plan-technical-dialog .plan-primary { background: #2463eb; color: white; }
.plan-assignees { max-height: 192px; overflow-y: auto; border: 1px solid var(--plan-line); border-radius: 12px; }
.plan-transmission-recipient { min-width: 0; border: 0; padding: 0; margin: 0; }
.plan-transmission-recipient legend { padding: 0; margin-bottom: 8px; font-weight: 550; }
.plan-transmission-recipient .plan-assignees { margin-top: 0; }
.plan-transmission-recipient > p { margin-top: 8px; }
.plan-assignees label { display: flex; align-items: center; gap: 10px; padding: 10px 12px; min-height: 48px; }
.plan-assignees input:is([type="checkbox"], [type="radio"]) {
  width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px;
  margin: 0; padding: 0; accent-color: #2463eb;
}
.plan-dialog .plan-priority.priority-1[aria-pressed="true"] { background: #fff0f2; border-color: #b42336; color: #b42336; }
.plan-dialog .plan-priority.priority-2[aria-pressed="true"] { background: var(--plan-attention-soft); border-color: var(--plan-attention); color: var(--plan-attention); }
.plan-dialog .plan-priority.priority-4[aria-pressed="true"] { background: var(--plan-soft); border-color: var(--plan-muted); color: var(--plan-ink); }
.dark .plan-dialog .plan-priority.priority-1[aria-pressed="true"] { background: #3c202b; color: #ffb4bf; border-color: #ffb4bf; }
.plan-dialog summary { cursor: pointer; min-height: 44px; padding-block: 12px; font-weight: 550; }
.plan-technical-overlay { z-index: 50; }
.plan-technical-dialog {
  display: flex; flex-direction: column; width: min(900px, 100%); max-height: calc(100dvh - 48px);
  overflow: hidden; border: 1px solid var(--plan-line); border-radius: 22px; background: var(--plan-surface);
  box-shadow: 0 24px 80px rgb(0 0 0 / 20%);
}
.plan-technical-dialog input, .plan-technical-dialog textarea, .plan-technical-dialog select { font-size: 16px; min-height: 44px; }
.plan-technical-dialog button { min-height: 44px; min-width: 44px; }
.plan-technical-dialog .shadow-lg, .plan-technical-dialog .shadow-md { box-shadow: none; }
.plan-technical-dialog .bg-white { background-color: var(--plan-surface); }
.plan-technical-dialog .bg-slate-50 { background-color: var(--plan-soft); }
.plan-technical-dialog .text-slate-900 { color: var(--plan-ink); }
.plan-technical-dialog .text-slate-500 { color: var(--plan-muted); }
.plan-technical-dialog :focus-visible { outline: 2px solid var(--plan-blue); outline-offset: 3px; }
.plan-settings-footer { background: var(--plan-surface); padding-bottom: max(16px, env(safe-area-inset-bottom)); }
.plan-technical-dialog > fieldset > div:last-child { background: var(--plan-surface); border-color: var(--plan-line); }
@keyframes plan-dialog-enter { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) {
  .plan-editor-header { padding: max(8px, env(safe-area-inset-top)) 12px 8px; gap: 8px; }
  .plan-editor-header .plan-header-label { display: none; }
  .plan-editor-identity h1 { font-size: 15px; }
  .plan-editor-header { flex-wrap: wrap; }
  .plan-editor-header .plan-header-secondary { order: 2; width: 100%; gap: 8px; }
  .plan-header-secondary > button { flex: 1; padding: 8px; }
  .plan-header-secondary .plan-header-label { display: inline; font-size: 12px; white-space: nowrap; }
  .plan-dialog-overlay { padding: 0; }
  .plan-dialog { width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; border: 0; }
  .plan-dialog.is-compact { width: 100%; height: auto; max-height: 90dvh; border-radius: 22px 22px 0 0; align-self: end; }
  .plan-dialog > header { padding: max(18px, env(safe-area-inset-top)) 18px 18px; }
  .plan-dialog > footer { padding: 16px 18px max(16px, env(safe-area-inset-bottom)); }
  .plan-dialog-content { padding: 20px 18px; }
  .plan-dialog h2 { font-size: 20px; }
  .plan-tools { position: absolute; bottom: 0; left: 0; right: 0; width: auto; flex-direction: row; border-right: 0; border-top: 1px solid var(--plan-line); padding: 6px 4px max(6px, env(safe-area-inset-bottom)); gap: 0; }
  .plan-tools button { flex: 1; min-width: 0; font-size: 11px; padding: 6px 2px; }
  .plan-tool-panel { top: auto; bottom: calc(82px + env(safe-area-inset-bottom)); left: 12px; right: 12px; width: auto; max-height: 55%; }
  .plan-editor-controls { bottom: calc(88px + env(safe-area-inset-bottom)); }
  .plan-selection { overflow-x: auto; width: max-content; }
  .plan-selection button { flex-shrink: 0; }
  .plan-guidance { font-size: 13px; }
  .plan-measure-guidance { bottom: calc(160px + env(safe-area-inset-bottom)); }
  .plan-form-grid { grid-template-columns: 1fr; }
  .plan-technical-dialog { width: 100%; height: 100dvh; max-height: 100dvh; border-radius: 0; border: 0; }
  .plan-technical-dialog > fieldset > div:first-child { padding-top: max(14px, env(safe-area-inset-top)); }
  .plan-technical-dialog > fieldset > div:last-child { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .plan-dialog { animation: none; }
}

.plan-edit-actions {
  position: absolute; top: 12px; right: 16px; z-index: 44; display: flex;
  align-items: center; gap: 4px; padding: 5px; border: 1px solid var(--plan-line);
  border-radius: 16px; background: var(--plan-surface); color: var(--plan-ink);
}
.plan-edit-actions button, .plan-symbol-placement button {
  min-width: 44px; min-height: 44px; display: inline-flex; align-items: center;
  justify-content: center; gap: 7px; padding: 8px 10px; border-radius: 10px; font-size: 13px;
}
.plan-edit-actions button[aria-pressed="true"] { color: var(--plan-blue); background: var(--plan-blue-soft); }
.plan-edit-actions button svg, .plan-symbol-placement button svg { flex-shrink: 0; }
.plan-symbol-browser { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }
.plan-symbol-browser input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .plan-layer-list input:not([type="checkbox"]):not([type="range"]) {
  width: 100%; min-width: 0; border: 1px solid var(--plan-line); border-radius: 12px;
  padding: 12px; min-height: 48px; font-size: 16px; color: var(--plan-ink); background: var(--plan-soft);
}
.plan-symbol-categories { display: flex; gap: 8px; overflow-x: auto; padding: 3px; }
.plan-symbol-categories button { flex-shrink: 0; white-space: nowrap; }
.plan-symbol-options, .plan-layer-list details { border-top: 1px solid var(--plan-line); padding-top: 8px; }
.plan-symbol-options summary, .plan-layer-list summary {
  min-height: 44px; cursor: pointer; padding: 12px 0; font-weight: 550;
}
.plan-symbol-options label { display: grid; gap: 8px; }
.plan-symbol-browser input[type="range"] { width: 100%; min-height: 44px; margin: 0; padding: 0; accent-color: #2463eb; }
.plan-symbol-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.plan-symbol-section { grid-column: 1 / -1; margin: 8px 0 -2px; font-size: 13px; font-weight: 650; color: var(--plan-muted); }
.plan-symbol-section:first-child { margin-top: 0; }
.plan-symbol-card { position: relative; border: 1px solid var(--plan-line); border-radius: 14px; overflow: hidden; }
.plan-dialog .plan-symbol-choice {
  border: 0; border-radius: 0; width: 100%; min-height: 154px; padding: 20px 12px 12px;
  display: flex; flex-direction: column; text-align: center; gap: 10px;
}
.plan-symbol-choice > span { font-weight: 550; line-height: 1.35; }
.plan-symbol-choice small { color: var(--plan-muted); }
.plan-dialog .plan-symbol-favorite { position: absolute; right: 0; top: 0; border: 0; padding: 8px; background: transparent; }
.plan-symbol-placement {
  position: absolute; left: 50%; transform: translateX(-50%); bottom: 88px;
  width: min(440px, calc(100% - 24px)); z-index: 43; background: var(--plan-surface);
  color: var(--plan-ink); border: 1px solid var(--plan-line); border-radius: 16px;
  padding: 10px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px;
}
.plan-symbol-placement .plan-symbol-current { flex: 1; min-width: 0; justify-content: flex-start; text-align: left; }
.plan-symbol-current span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plan-symbol-current small { display: block; color: var(--plan-muted); font-size: 12px; }
.plan-symbol-placement p { flex-basis: 100%; margin: 4px 8px 0; font-size: 12px; color: var(--plan-muted); }
.plan-symbol-placement p[role="alert"] { color: #b42336; }
.dark .plan-symbol-placement p[role="alert"] { color: #ffb4bf; }
.plan-layer-list { display: grid; gap: 12px; }
.plan-check-row { display: flex !important; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; cursor: pointer; }
.plan-check-row small { display: block; color: var(--plan-muted); font-size: 12px; margin-top: 3px; }
.plan-check-row input[type="checkbox"] { width: 20px; height: 20px; flex-shrink: 0; accent-color: #2463eb; }
.plan-layer-items { display: grid; gap: 4px; margin-top: 12px; }
.plan-layer-items button { justify-content: flex-start; text-align: left; }
.plan-layer-items button span { flex: 1; }
.plan-selection-guidance { top: auto; bottom: 88px; }
.plan-selection:has(> [role="alert"]) { flex-wrap: wrap; }
.plan-selection > [role="alert"] { flex-basis: 100%; margin: 4px; font-size: 13px; }
.plan-guidance:not(.plan-measure-guidance):not(.plan-selection-guidance), .plan-selection { top: 78px; }
.plan-multi-compact {
  position: absolute; left: 50%; transform: translateX(-50%); bottom: 88px;
  z-index: 43; max-width: calc(100% - 24px); display: flex; align-items: center; gap: 6px;
  padding: 8px; background: var(--plan-surface); border: 1px solid var(--plan-line); border-radius: 16px;
  white-space: nowrap; font-size: 13px;
}
.plan-multi-compact > span { padding: 0 6px; font-weight: 600; }
.plan-multi-compact { width: max-content; flex-wrap: wrap; justify-content: center; }
.plan-multi-compact p { flex-basis: 100%; margin: 0; white-space: normal; color: var(--plan-muted); }
.plan-multi-compact p[role="alert"] { color: #b42336; }
.dark .plan-multi-compact p[role="alert"] { color: #ffb4bf; }
.plan-symbol-actions {
  position: absolute; z-index: 44; left: 50%; bottom: 88px; transform: translateX(-50%);
  width: max-content; max-width: calc(100% - 24px); padding: 8px; border-radius: 16px;
  background: var(--plan-surface); color: var(--plan-ink); border: 1px solid var(--plan-line);
  display: grid; grid-template-columns: auto 44px 36px 44px 44px 44px auto 44px 44px;
  grid-template-areas: "move left angle right lock options duplicate delete done"; align-items: center; gap: 4px;
  font-size: 13px;
}
.plan-symbol-actions button { min-height: 44px; min-width: 44px; display: flex; align-items: center; justify-content: center; gap: 6px; border-radius: 10px; color: var(--plan-ink); }
.plan-symbol-actions button svg { color: inherit; stroke: currentColor; }
.plan-symbol-actions > .plan-symbol-delete { color: #b42336; }
.plan-editor.dark .plan-symbol-actions > .plan-symbol-delete { color: #ffb4bf; }
.plan-symbol-actions button[aria-pressed="true"] { background: var(--plan-blue-soft); color: var(--plan-blue); }
.plan-symbol-actions button:disabled { opacity: .45; cursor: default; }
.plan-symbol-actions > .plan-symbol-lock { width: 44px; justify-self: center; }
.plan-symbol-actions > span { text-align: center; font-variant-numeric: tabular-nums; }
.plan-symbol-move { grid-area: move; padding-inline: 10px; }
.plan-symbol-left { grid-area: left; }
.plan-symbol-angle { grid-area: angle; }
.plan-symbol-right { grid-area: right; }
.plan-symbol-lock { grid-area: lock; }
.plan-symbol-actions > .plan-symbol-options { grid-area: options; }
.plan-symbol-delete { grid-area: delete; }
.plan-symbol-done { grid-area: done; }
.plan-symbol-actions > .plan-symbol-duplicate { grid-area: duplicate; padding-inline: 10px; color: var(--plan-blue); background: var(--plan-blue-soft); }
.plan-symbol-actions p { grid-column: 1 / -1; margin: 4px 4px 0; font-size: 12px; color: var(--plan-muted); }
.plan-symbol-actions p[role="alert"] { color: #b42336; }
.dark .plan-symbol-actions p[role="alert"] { color: #ffb4bf; }
.plan-lock-notice {
  position: absolute; z-index: 45; top: 138px; left: 50%; transform: translateX(-50%);
  width: max-content; max-width: calc(100% - 24px); display: grid; grid-template-columns: minmax(0, 1fr) auto 44px;
  align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid var(--plan-line);
  border-radius: 14px; background: var(--plan-surface); color: var(--plan-ink); font-size: 13px;
}
.plan-lock-notice > span { min-width: 0; }
.plan-lock-notice button { min-height: 44px; min-width: 44px; border-radius: 10px; padding: 8px; color: var(--plan-blue); background: var(--plan-blue-soft); }
.plan-lock-notice button svg { color: inherit; }
.plan-pdf-detail-status {
  position: absolute; z-index: 40; bottom: calc(88px + env(safe-area-inset-bottom)); left: 50%;
  transform: translateX(-50%); max-width: calc(100% - 24px); width: max-content;
  display: flex; align-items: center; gap: 8px; padding: 6px 12px;
  border: 1px solid var(--plan-line); border-radius: 12px;
  background: var(--plan-surface); color: var(--plan-muted); font-size: 12px; pointer-events: none;
}
.plan-pdf-detail-status[data-failed] { color: #b42336; }
.dark .plan-pdf-detail-status[data-failed] { color: #ffb4bf; }
.plan-pdf-detail-status button {
  min-height: 44px; padding: 8px 12px; border-radius: 10px; pointer-events: auto;
  background: var(--plan-blue-soft); color: var(--plan-blue);
}
@media (max-width: 767px) {
  .plan-pdf-detail-status { bottom: calc(160px + env(safe-area-inset-bottom)); }
}
.plan-layer-drawer { position: absolute; top: 70px; right: 0; bottom: 0; z-index: 55; width: min(360px, calc(100% - 48px)); display: flex; flex-direction: column; background: var(--plan-surface); color: var(--plan-ink); border-left: 1px solid var(--plan-line); }
.plan-layer-drawer header, .plan-layer-drawer footer { padding: 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--plan-line); flex-shrink: 0; }
.plan-layer-drawer footer { border-top: 1px solid var(--plan-line); padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
.plan-layer-drawer h2 { font-size: 18px; font-weight: 600; }
.plan-layer-drawer button { min-height: 44px; min-width: 44px; padding: 8px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.plan-layer-drawer button[aria-pressed="true"] { color: var(--plan-blue); }
.plan-layer-drawer .plan-layer-name[aria-pressed="true"], .plan-layer-drawer .plan-layer-item[aria-pressed="true"], .plan-layer-add { color: var(--plan-blue); background: var(--plan-blue-soft); }
.plan-layer-drawer-body { overflow-y: auto; padding: 12px; flex: 1; min-height: 0; }
.plan-layer-entry { border: 0; border-bottom: 1px solid var(--plan-line); border-radius: 0; margin-top: 8px; padding-bottom: 8px; }
.plan-layer-row { display: flex; align-items: center; }
.plan-layer-title { display: flex; align-items: center; gap: 8px; }
.plan-layer-color-dot { width: 6px; height: 18px; border-radius: 3px; flex-shrink: 0; }
.plan-layer-color-picker { border: 0; padding: 8px 0; display: flex; flex-wrap: wrap; gap: 4px; }
.plan-layer-color-picker legend { font-size: 13px; margin-bottom: 6px; }
.plan-layer-color-picker button { position: relative; }
.plan-layer-color-picker button[aria-pressed="true"] { outline: 2px solid var(--plan-blue); outline-offset: -2px; }
.plan-layer-color-swatch { width: 18px; height: 18px; border-radius: 50%; }
.plan-layer-color-picker button > svg { position: absolute; right: 1px; bottom: 1px; background: var(--plan-surface); border-radius: 50%; }
.plan-layer-expand svg { transition: transform 140ms ease; }
.plan-layer-expand[aria-expanded="true"] svg { transform: rotate(90deg); }
.plan-layer-drawer .plan-layer-items { list-style: none; margin: 0; padding: 4px 0 0 24px; border: 0; }
.plan-layer-drawer .plan-layer-item { width: 100%; justify-content: flex-start; text-align: left; gap: 8px; }
.plan-layer-item-row { display: flex; align-items: center; }
.plan-layer-item-row .plan-layer-item { flex: 1; min-width: 0; }
.plan-layer-grip { touch-action: none; user-select: none; cursor: grab; color: var(--plan-muted); flex-shrink: 0; }
.plan-layer-grip:active { cursor: grabbing; }
.plan-layer-item-row[data-dragging="true"] { opacity: .45; }
.plan-layer-entry[data-drop-target="true"] { background: var(--plan-blue-soft); outline: 2px solid var(--plan-blue); outline-offset: -2px; }
.plan-layer-drag-preview { position: fixed; z-index: 10010; pointer-events: none; max-width: 192px; padding: 8px 12px; background: var(--plan-surface); color: var(--plan-ink); border: 1px solid var(--plan-blue); border-radius: 12px; font-size: 13px; overflow-wrap: anywhere; }
.plan-layer-drag-preview small { display: block; color: var(--plan-muted); margin-top: 4px; }
.plan-layer-destination { padding: 8px; display: grid; gap: 4px; background: var(--plan-blue-soft); border-radius: 12px; }
.plan-layer-status { flex-shrink: 0; min-height: 36px; padding: 8px 12px; font-size: 12px; color: var(--plan-muted); }
.plan-layer-item > svg { flex-shrink: 0; color: var(--plan-muted); }
.plan-layer-item-label { min-width: 0; display: flex; flex-direction: column; }
.plan-layer-item-label > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plan-layer-item-label small, .plan-layer-empty { color: var(--plan-muted); font-size: 12px; }
.plan-layer-empty { padding: 12px 8px; }
.plan-layer-drawer .plan-layer-item:disabled { opacity: 1; color: var(--plan-muted); }
@media (prefers-reduced-motion: reduce) { .plan-layer-expand svg { transition: none; } }
.plan-layer-name { flex: 1; min-width: 0; flex-direction: column; align-items: flex-start !important; text-align: left; }
.plan-layer-name span { overflow-wrap: anywhere; }
.plan-layer-name small { color: var(--plan-muted); font-size: 12px; }
.plan-layer-entry-actions, .plan-layer-form-actions { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; }
.plan-layer-remove { padding: 8px; font-size: 13px; }
.plan-layer-drawer input { font-size: 16px; min-height: 44px; }
.plan-context-bar {
  position: absolute; bottom: 88px; left: 50%; transform: translateX(-50%); z-index: 44;
  width: max-content; max-width: calc(100% - 24px); padding: 8px; border-radius: 16px;
  background: var(--plan-surface); border: 1px solid var(--plan-line); color: var(--plan-ink);
  font-size: 13px; user-select: none;
}
.plan-context-row { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.plan-ink-status { position: absolute; z-index: 60; top: calc(154px + env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); max-width: calc(100% - 32px); display: flex; align-items: center; gap: 12px; padding: 6px 12px; border: 1px solid var(--plan-line); border-radius: 12px; background: var(--plan-surface); color: var(--plan-ink); font-size: 13px; }
@media (max-width: 767px) { .plan-ink-status { top: calc(198px + env(safe-area-inset-top)); } }
.plan-ink-status[data-error="true"] { color: var(--plan-danger); }
.plan-ink-status button { min-width: 44px; min-height: 44px; color: var(--plan-blue); font-weight: 600; }
.plan-context-row + .plan-context-row { margin-top: 4px; }
.plan-context-row > strong { display: inline-flex; align-items: center; gap: 8px; padding: 0 8px; font-weight: 600; }
.plan-context-bar button { min-height: 44px; min-width: 44px; padding: 8px 12px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.plan-context-bar button[aria-pressed="true"] { color: var(--plan-blue); background: var(--plan-blue-soft); }
.plan-context-name { flex: 1; padding: 0 8px; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plan-context-error { color: #b42336; padding: 8px; margin: 0; }
.plan-context-top { top: calc(80px + env(safe-area-inset-top)); bottom: auto; }
.plan-stamp-label { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid var(--plan-line); border-radius: 10px; color: var(--plan-ink); background: var(--plan-surface); font: 600 13px/1.3 system-ui; white-space: nowrap; user-select: none; }
.dark .plan-context-error { color: #ffb4bf; }
.plan-color-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; border: 1px solid rgb(127 127 127 / 30%); }
.plan-zone-layer { position: absolute; inset: 0; z-index: 30; pointer-events: none; }
.plan-zone-svg { width: 100%; height: 100%; overflow: visible; }
.plan-zone-outline { pointer-events: auto; cursor: pointer; }
.plan-zone-label { position: absolute; pointer-events: auto; display: flex; align-items: center; gap: 8px; padding: 6px 10px; min-height: 44px; max-width: 180px; border-radius: 10px; border: 1px solid var(--plan-line); background: var(--plan-surface); color: var(--plan-ink); text-align: left; }
.plan-zone-label[aria-pressed="true"] { border-color: var(--plan-blue); }
.plan-zone-label strong { display: block; font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plan-zone-label small { display: block; font-size: 12px; color: var(--plan-muted); white-space: nowrap; }
.plan-zone-label > span:last-child { min-width: 0; }
.plan-zone-vertex { position: absolute; width: 44px; height: 44px; pointer-events: auto; display: grid; place-items: center; touch-action: none; cursor: grab; }
.plan-zone-vertex > span, .plan-zone-draft-point { width: 10px; height: 10px; border-radius: 50%; border: 2px solid #2463eb; background: white; }
.plan-zone-draft-point { position: absolute; pointer-events: none; }
.plan-dialog fieldset > * + *, .plan-dialog details > * + * { margin-top: 20px; }
.plan-review-canvas { padding: 12px; border: 1px solid var(--plan-line); border-radius: 16px; background: var(--plan-soft); }
.plan-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; min-width: 0; }
.plan-review-section { min-width: 0; }
.plan-review-section > * + * { margin-top: 12px; }
.plan-review-section h3 { font-weight: 600; font-size: 15px; }
.plan-review-image { display: block; width: 100%; height: auto; }
.plan-review-stack, .plan-alignment-sheet { position: relative; overflow: hidden; }
.plan-review-overlay { position: absolute; inset: 0; }
.plan-review-overlay .plan-review-image { width: 100%; height: 100%; object-fit: fill; }
.plan-review-divider { position: absolute; top: 0; bottom: 0; width: 2px; background: #2463eb; pointer-events: none; }
.plan-alignment-sheet { cursor: crosshair; }
.plan-alignment-point { position: absolute; transform: translate(-50%, -50%); display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: white; background: #2463eb; border: 2px solid white; pointer-events: none; font-size: 12px; }
.plan-legacy-body { display: flex; flex-direction: column; min-width: 0; color: var(--plan-ink); }
.plan-legacy-body.hide-legacy-header > div:first-child { display: none; }
.plan-legacy-body [class*="bg-slate-"], .plan-legacy-body .bg-white { background-color: var(--plan-soft); background-image: none; }
.plan-legacy-body [class*="border-slate-"] { border-color: var(--plan-line); }
.plan-legacy-body [class*="text-slate-"], .plan-legacy-body .text-white { color: var(--plan-ink); }
.plan-legacy-body [class*="text-slate-400"], .plan-legacy-body [class*="text-slate-500"] { color: var(--plan-muted); }
.plan-legacy-body [class*="shadow-"] { box-shadow: none; }
.plan-legacy-body [class*="uppercase"] { text-transform: none; letter-spacing: normal; }
.plan-legacy-body input, .plan-legacy-body textarea, .plan-legacy-body select { font-size: 16px; min-height: 44px; color: var(--plan-ink); }
.plan-legacy-body input[type="checkbox"] { min-height: 20px; width: 20px; }
.plan-legacy-body button[class*="bg-blue-600"], .plan-legacy-body button[class*="bg-emerald-600"] { background: #2463eb; color: white; border-color: #2463eb; }
.plan-legacy-body button[class*="bg-blue-600"] *, .plan-legacy-body button[class*="bg-emerald-600"] * { color: inherit; }
.plan-legacy-body button[class*="bg-amber-"] { color: var(--plan-blue); background: var(--plan-blue-soft); border-color: var(--plan-blue); }
.plan-legacy-body button { flex-shrink: 0; min-height: 44px; min-width: 44px; }
.plan-precision-body [class*="text-["] { font-size: 13px; }
.plan-precision-body button { border-color: var(--plan-line); }
.plan-precision-body > div:last-child > div { flex-wrap: wrap; }
.plan-precision-body button[aria-pressed="true"] { color: var(--plan-blue); background: var(--plan-blue-soft); }
.plan-legacy-body #printable-client-document, .plan-legacy-body #printable-client-document * { color: revert; background-color: revert; }
@media (max-width: 767px) {
  .plan-symbol-actions { bottom: calc(160px + env(safe-area-inset-bottom)); }
  .plan-context-bar { bottom: calc(160px + env(safe-area-inset-bottom)); width: calc(100% - 24px); }
  .plan-context-row > strong { padding: 0 4px; }
  .plan-context-bar button { padding: 8px; }
  .plan-review-grid { grid-template-columns: 1fr; }
  .plan-context-top { top: calc(116px + env(safe-area-inset-top)); bottom: auto; }
  .plan-legacy-body .grid-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .plan-symbol-actions {
    width: min(336px, calc(100% - 24px));
    grid-template-columns: repeat(5, minmax(44px, 1fr));
    grid-template-areas: "move move left angle right" "duplicate lock options delete done";
  }
  .plan-symbol-actions > .plan-symbol-duplicate { padding-inline: 0; }
  .plan-symbol-duplicate > span { display: none; }
}
.plan-multi-compact button { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; gap: 6px; padding: 8px; border-radius: 10px; }
.plan-multi-compact button[aria-pressed="true"] { background: var(--plan-blue-soft); color: var(--plan-blue); }
.plan-multi-options-grid { display: grid; gap: 10px; }
.plan-batch-panel {
  display: grid; gap: 12px; padding: 12px; margin-bottom: 16px; min-width: 0;
  border: 1px solid var(--plan-line); border-radius: 14px; background: var(--plan-soft);
}
.plan-dialog .plan-batch-panel > div:first-child,
.plan-dialog .plan-batch-panel svg { color: var(--plan-ink); }
.plan-dialog .plan-batch-panel input { min-width: 0; min-height: 44px; font-size: 16px; }
.plan-dialog .plan-batch-panel button:not([style]) {
  min-height: 44px; min-width: 44px; box-shadow: none;
  color: var(--plan-ink); background: var(--plan-surface); border-color: var(--plan-line);
}
.plan-dialog .plan-batch-panel button[style] { min-width: 44px; min-height: 44px; width: 100%; }
.plan-multi-options-grid > div:first-child { display: none; }
.plan-multi-options-grid > div { display: none; }
.plan-dialog .plan-multi-options-grid button svg { color: currentColor; }
.plan-dialog .plan-multi-options-grid button { width: 100%; justify-content: flex-start; box-shadow: none; background: var(--plan-surface); color: var(--plan-ink); border-color: var(--plan-line); }
.plan-dialog .plan-multi-options-grid button:has(svg.lucide-trash-2) { color: #b42336; }
.dark .plan-dialog .plan-multi-options-grid button:has(svg.lucide-trash-2) { color: #ffb4bf; }
.plan-multi-actions { bottom: 88px !important; max-width: calc(100% - 24px); }
.plan-multi-actions > div:last-child { border-color: var(--plan-line); box-shadow: none; background: var(--plan-surface); }
.plan-multi-actions button { min-height: 44px; flex-shrink: 0; }
.plan-conduit-target { width: 10px; height: 10px; border: 1.5px solid var(--plan-blue); border-radius: 3px; background: var(--plan-surface); }
.plan-conduit-preview-label { margin-top: 6px; padding: 4px 8px; border: 1px solid var(--plan-line); border-radius: 8px; background: var(--plan-surface); color: var(--plan-ink); font-size: 13px; }
@media (max-width: 767px) {
  .plan-edit-actions { right: 12px; left: 12px; justify-content: space-between; }
  .plan-edit-actions button { font-size: 12px; gap: 5px; }
  .plan-symbol-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .plan-symbol-placement, .plan-selection-guidance, .plan-multi-actions { bottom: calc(160px + env(safe-area-inset-bottom)) !important; }
  .plan-multi-compact { bottom: calc(160px + env(safe-area-inset-bottom)); gap: 2px; font-size: 12px; padding: 6px; }
  .plan-multi-compact > span { padding: 0 2px; }
}

/* One transient tool surface at a time, with a readable text draft on the plan. */
.plan-editor:has(.plan-tool-panel) :is(.plan-context-bar,.plan-symbol-actions,.plan-selection),
.plan-editor:has(.plan-dialog-overlay) :is(.plan-context-bar,.plan-symbol-actions,.plan-selection),
.plan-editor:has(.plan-inline-text) :is(.plan-context-bar,.plan-editor-controls,.plan-edit-actions) { visibility: hidden; pointer-events: none; }
.plan-inline-text { position:absolute; z-index:80; transform-origin:top left; width:min(280px,calc(100vw - 32px)); padding:10px; border:2px solid var(--plan-blue); border-radius:14px; background:var(--plan-surface); color:var(--plan-ink); box-shadow:0 4px 20px rgb(0 0 0 / .14); font:14px/1.5 system-ui; }
.plan-inline-text :is(header,footer) { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.plan-inline-text button { min-height:44px; min-width:44px; display:inline-flex; align-items:center; justify-content:center; gap:4px; border-radius:10px; padding:8px; color:var(--plan-blue); }
.plan-inline-text button.plan-primary { background:#2463eb; color:white; }
.plan-inline-text .plan-text-handle { touch-action:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; }
.plan-inline-text label { display:grid; gap:4px; margin:4px 0; }
.plan-inline-text textarea { display:block; width:100%; min-width:0; resize:vertical; padding:10px; border:1px solid var(--plan-line); border-radius:8px; background:var(--plan-soft); color:var(--plan-ink); font:16px/1.5 system-ui; user-select:text; }
.plan-inline-text button:disabled { opacity:.55; }
.plan-inline-text :focus-visible { outline:2px solid var(--plan-blue); outline-offset:2px; }
@media(max-width:767px) {
 .plan-context-bar { bottom:calc(148px + env(safe-area-inset-bottom)); max-height:30dvh; overflow:auto; }
 .plan-context-bar .plan-muted { font-size:12px; line-height:1.4; margin:4px 8px; }
 .plan-editor-controls button { min-width:44px; min-height:44px; }
 .plan-tool-grid button { min-height:48px; font-size:14px; }
 .plan-tool-panel { max-height:calc(100dvh - 270px); }
}

/* Precise touch placement: visible draft, no write until explicit confirmation. */
.plan-editor .plan-precision-loupe { width:148px; height:auto; border-radius:12px; margin:0; overflow:hidden; background:var(--plan-surface); color:var(--plan-ink); }
.plan-editor .plan-precision-loupe canvas { display:block; width:144px; height:144px; background:white; }
.plan-editor .plan-precision-loupe figcaption { padding:4px 6px; font-size:12px; line-height:1.4; text-align:center; background:var(--plan-surface); color:var(--plan-ink); }
.plan-placement-target { position:fixed; z-index:47; width:32px; height:32px; transform:translate(-50%,-50%); border:1px solid var(--plan-blue); border-radius:50%; pointer-events:none; background:transparent; box-shadow:0 0 0 2px white; }
.plan-placement-target::before,.plan-placement-target::after { content:''; position:absolute; background:var(--plan-blue); box-shadow:0 0 0 1px white; }
.plan-placement-target::before { width:48px; height:2px; top:14px; left:-9px; }
.plan-placement-target::after { height:48px; width:2px; left:14px; top:-9px; }
.plan-placement-symbol { position:fixed; z-index:46; transform:translate(-50%,-50%); pointer-events:none; opacity:.75; line-height:0; }
.plan-placement-target.has-marker { width:8px; height:8px; border:0; background:var(--plan-blue); }
.plan-placement-target.has-marker::before, .plan-placement-target.has-marker::after { display:none; }
.plan-touch-placement { position:fixed; z-index:49; left:12px; right:12px; bottom:calc(88px + env(safe-area-inset-bottom)); max-width:520px; margin:auto; padding:10px; border:1px solid var(--plan-line); border-radius:14px; background:var(--plan-surface); color:var(--plan-ink); box-shadow:0 4px 16px #0002; font-size:14px; }
.plan-touch-placement header { display:flex; align-items:center; gap:10px; }
.plan-touch-placement header span { font-size:13px; line-height:1.4; }
.plan-touch-placement button { min-height:44px; min-width:44px; padding:8px 12px; border:1px solid var(--plan-line); border-radius:10px; background:var(--plan-soft); color:var(--plan-ink); font-size:14px; }
.plan-touch-placement button[aria-pressed=true] { background:var(--plan-blue-soft); color:var(--plan-blue); border-color:var(--plan-blue); }
.plan-touch-placement button.plan-primary { background:#2463eb; color:white; border-color:#2463eb; }
.plan-touch-placement button:focus-visible { outline:2px solid var(--plan-blue); outline-offset:2px; }
.plan-touch-placement button:disabled { opacity:.6; }
.plan-placement-adjust,.plan-placement-actions { display:flex; gap:8px; align-items:center; margin-top:8px; }
.plan-placement-adjust span { font-size:12px; }
.plan-placement-actions { justify-content:flex-end; }
.plan-touch-placement [role=alert] { margin:8px 0 0; color:var(--plan-danger); }
.plan-editor:has(.plan-touch-placement) .plan-editor-controls { display:none; }
.plan-editor:has(.plan-dialog-overlay,.plan-tool-panel) :is(.plan-touch-placement,.plan-precision-loupe,.plan-placement-target) { visibility:hidden; pointer-events:none; }
@media(max-height:600px) { .plan-touch-placement { left:auto; width:270px; right:12px; } .plan-touch-placement header span { font-size:12px; } }

.plan-editor:has(.plan-touch-placement[data-draft=true]) .plan-symbol-placement { visibility:hidden; pointer-events:none; }

/* Keep the symbol chooser/exit above the precise placement panel on every device. */
.plan-editor:has(.plan-touch-placement[data-draft=false]) .plan-symbol-placement {
  bottom:calc(96px + var(--plan-placement-height, 66px) + env(safe-area-inset-bottom)) !important;
}

/* Keep layer drag handles inside the drawer, ahead of long item names. */
.plan-layer-drawer,.plan-layer-drawer-body,.plan-layer-entry { min-width:0; }
.plan-layer-drawer-body { overflow-x:hidden; }
.plan-editor .plan-layer-drawer .plan-layer-items { display:grid; grid-template-columns:minmax(0,1fr); padding:4px 0 0; }
.plan-editor .plan-layer-drawer .plan-layer-item-row { min-width:0; display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; }
.plan-editor .plan-layer-drawer .plan-layer-item-row .plan-layer-item { grid-column:2; grid-row:1; width:100%; min-width:0; }
.plan-editor .plan-layer-drawer .plan-layer-item-row .plan-layer-grip { grid-column:1; grid-row:1; width:44px; min-height:48px; border:1px solid var(--plan-line); background:var(--plan-surface); }
.plan-editor .plan-layer-drawer .plan-layer-item-label { flex:1; min-width:0; }
.plan-editor .plan-layer-drawer .plan-layer-item-label > span { white-space:normal; overflow-wrap:anywhere; text-overflow:clip; }
.plan-editor .plan-layer-drawer .plan-layer-row,.plan-editor .plan-layer-drawer .plan-layer-title { min-width:0; }
.plan-editor .plan-layer-drawer .plan-layer-name .plan-layer-title { width:100%; white-space:normal; }

/* Keep the native priority disclosure reachable on desktop as on mobile. */
html .task-detail-dialog .task-detail-options > summary { display:list-item; }
html .task-detail-dialog .task-detail-options:not([open]) > div { display:none !important; }
