/* The approval card is a decision surface, not a second dashboard. */
.buffett-execution-panel {
  container-type: inline-size;
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 15px;
  color: #dce9f4;
  background: linear-gradient(145deg, #14283a, #0e1d2c 86%);
  border: 1px solid #8db6d329;
  border-radius: 12px;
  box-shadow: 0 8px 26px #00000012, inset 2px 0 0 #d6a35c;
  overflow-wrap: anywhere;
}
.buffett-execution-head { display: grid; gap: 5px; min-width: 0; }
.buffett-execution-kicker { color: #d6aa6b; font: 600 9px/1.2 var(--number); letter-spacing: .5px; text-transform: uppercase; }
.buffett-execution-title-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.buffett-execution-head h4 { margin: 0; min-width: 0; overflow: hidden; color: #eef6ff; font: 500 17px/1.25 var(--number); text-overflow: ellipsis; white-space: nowrap; }
.buffett-execution-head p { margin: 0; color: #86a4ba; font-size: 10px; line-height: 1.45; }
.buffett-execution-status { flex: 0 0 auto; padding: 4px 7px; border: 1px solid #9ab5c629; border-radius: 999px; color: #a8bfd1; font-size: 9px; white-space: nowrap; }
.buffett-execution-status.is-positive { color: #8de0c6; background: #5de2c40c; border-color: #5de2c438; }
.buffett-execution-status.is-warning { color: #f0c883; background: #e8bd7a0d; border-color: #e8bd7a3d; }
.buffett-execution-status.is-negative { color: #f0a6a2; background: #e06b6b12; border-color: #e06b6b45; }
.buffett-execution-dismiss { display: inline-grid; place-items: center; flex: 0 0 20px; width: 20px; min-height: 20px !important; padding: 0 !important; color: #7895ab !important; background: transparent !important; border: 1px solid #8db6d32b !important; border-radius: 50% !important; font: 14px/1 var(--number) !important; }
.buffett-execution-dismiss:hover { color: #dce9f4 !important; background: #8db6d31a !important; }

.buffett-execution-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.buffett-execution-facts > div { display: grid; gap: 3px; min-width: 0; padding: 7px 6px; background: #0b1927a8; border: 1px solid #8db6d31a; border-radius: 6px; }
.buffett-execution-facts > div:last-child { grid-column: span 2; }
.buffett-execution-facts span { overflow: hidden; color: #7895ab; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.buffett-execution-facts strong { overflow: hidden; color: #e0edf7; font: 600 12px var(--number); text-overflow: ellipsis; white-space: nowrap; }
.buffett-execution-plan { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 0 1px; color: #7895ab; font-size: 9px; }
.buffett-execution-plan strong { min-width: 0; overflow: hidden; color: #a9c3d5; font: 10px var(--number); text-overflow: ellipsis; white-space: nowrap; }
.buffett-execution-position { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 0 1px; color: #7895ab; font-size: 9px; }
.buffett-execution-position strong { min-width: 0; overflow: hidden; color: #c0d2df; font: 10px var(--number); text-overflow: ellipsis; white-space: nowrap; }

.buffett-execution-track { display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 6px; color: #637f96; font-size: 9px; }
.buffett-execution-track span { white-space: nowrap; }
.buffett-execution-track span::before { display: inline-block; width: 5px; height: 5px; margin-right: 4px; border: 1px solid #6e8da4; border-radius: 50%; content: ""; vertical-align: 1px; }
.buffett-execution-track span.is-current, .buffett-execution-track span.is-done { color: #a9e3d2; }
.buffett-execution-track span.is-current::before { background: #e8bd7a; border-color: #e8bd7a; box-shadow: 0 0 8px #e8bd7a66; }
.buffett-execution-track span.is-done::before { background: #5de2c4; border-color: #5de2c4; }
.buffett-execution-track i { height: 1px; background: #8db6d329; }

.buffett-execution-advanced { border-top: 1px solid #8db6d31a; }
.buffett-execution-advanced > summary { display: flex; align-items: center; gap: 7px; padding: 10px 1px 0; color: #a9c3d5; cursor: pointer; list-style: none; }
.buffett-execution-advanced > summary::-webkit-details-marker { display: none; }
.buffett-execution-advanced > summary > span { flex: 0 0 auto; font-size: 10px; }
.buffett-execution-advanced > summary > small { min-width: 0; overflow: hidden; color: #708da4; font: 9px var(--number); text-overflow: ellipsis; white-space: nowrap; }
.buffett-execution-advanced > summary > b { margin-left: auto; color: #83a8ff; font: 13px var(--number); transition: transform 160ms ease; }
.buffett-execution-advanced[open] > summary > b { transform: rotate(180deg); }
.buffett-execution-advanced[open] > summary { padding-bottom: 9px; }
.buffett-execution-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 0; margin: 0; border: 0; }
.buffett-execution-field, .buffett-execution-choice-group { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 9px; border: 1px solid #8db6d31c; border-radius: 7px; background: #0b1927b8; }
.buffett-execution-field > span, .buffett-execution-choice-group legend { color: #7d9ab0; font-size: 9px; }
.buffett-execution-choice-group { grid-column: span 2; }
.buffett-execution-choice-group legend { padding: 0; }
.buffett-execution-field input, .buffett-execution-choice-group select, .buffett-execution-choice-group > input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 30px; padding: 5px 7px; color: #e6f2fb; background: #102538; border: 1px solid #8db6d32b; border-radius: 5px; font: 12px var(--number); }
.buffett-execution-choice-group > label { display: flex; align-items: flex-start; gap: 7px; color: #a6bfd1; font-size: 10px; line-height: 1.45; }
.buffett-execution-choice-group > label.is-readonly { color: #728da2; }
.buffett-execution-choice-group > label small { color: #687f91; font-size: 8px; }
.buffett-execution-choice-group > label input { flex: 0 0 auto; margin: 2px 0 0; accent-color: #5de2c4; }
.buffett-execution-inline-field { grid-template-columns: auto minmax(80px, 1fr); align-items: center; border: 0; padding: 0; background: none; }
.buffett-execution-inline-field input { min-height: 26px; }
.buffett-execution-fields:disabled { opacity: .72; }

.buffett-execution-protection { display: grid; gap: 7px; padding-top: 10px; border-top: 1px solid #8db6d31a; }
.buffett-execution-protection-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.buffett-execution-protection-head > span { color: #7895ab; font-size: 9px; }
.buffett-execution-protection-head > small { color: #718da2; font-size: 9px; }
.buffett-execution-protection-levels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.buffett-execution-protection-levels > div { display: grid; gap: 3px; min-width: 0; padding: 6px 5px; border: 1px solid #8db6d31a; border-radius: 5px; background: #0b1927a8; }
.buffett-execution-protection-levels span { overflow: hidden; color: #7895ab; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.buffett-execution-protection-levels strong { overflow: hidden; color: #d6e3ec; font: 600 10px var(--number); text-overflow: ellipsis; white-space: nowrap; }
.buffett-execution-protection-levels .is-hard { border-color: #d5a15b38; }
.buffett-execution-protection-levels .is-hard strong { color: #efc47f; }
.buffett-execution-protection-levels .is-structure { border-color: #b38ab52b; }
.buffett-execution-protection-levels .is-structure strong { color: #d0acd5; }
.buffett-execution-protection-levels .is-target strong { color: #8de0c6; }
.buffett-execution-protection-note { color: #718da2; font-size: 9px; }
.buffett-execution-note, .buffett-execution-error, .buffett-execution-latency-note { margin: 0; color: #7693a8; font-size: 9px; line-height: 1.5; }
.buffett-execution-error { color: #f0a6a2; }
.buffett-execution-actions { display: flex; align-items: center; gap: 8px; }
.buffett-execution-panel button { min-height: 32px; padding: 7px 11px; border: 1px solid #5de2c4; border-radius: 6px; background: #2b8f84; color: #effffb; font-size: 11px; cursor: pointer; font-weight: 600; }
.buffett-execution-panel button:hover:not(:disabled) { background: #39a99a; }
.buffett-execution-panel :disabled { cursor: not-allowed; opacity: .5; }
.buffett-execution-panel :focus-visible { outline: 2px solid #e8bd7a; outline-offset: 2px; }
.buffett-execution-close { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding-top: 11px; border-top: 1px solid #c06f6f38; }
.buffett-execution-close > div { display: grid; gap: 3px; min-width: 0; }
.buffett-execution-close > div > span { color: #ef9e9e; font-size: 9px; font-weight: 700; }
.buffett-execution-close strong { color: #cfdae2; font-size: 10px; }
.buffett-execution-close small { color: #8198a9; font-size: 9px; line-height: 1.4; }
.buffett-execution-panel .is-danger { background: #a64f57; border-color: #d07a7e; }
.buffett-execution-panel .is-danger:hover:not(:disabled) { background: #bd6067; }

.buffett-execution-panel.is-inline { grid-template-columns: minmax(0, 1.15fr) minmax(230px, .85fr); margin-top: 8px; }
.buffett-execution-panel.is-inline > .buffett-execution-head,
.buffett-execution-panel.is-inline > .buffett-execution-facts,
.buffett-execution-panel.is-inline > .buffett-execution-track,
.buffett-execution-panel.is-inline > .buffett-execution-note,
.buffett-execution-panel.is-inline > .buffett-execution-error,
.buffett-execution-panel.is-inline > .buffett-execution-actions { grid-column: 1 / -1; }
.buffett-execution-panel.is-inline .buffett-execution-head p { color: #7895ab; }
.buffett-execution-panel.is-inline .buffett-execution-facts { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.buffett-execution-panel.is-inline .buffett-execution-facts > div:last-child { grid-column: span 1; }
.buffett-execution-panel.is-inline .buffett-execution-advanced { grid-column: span 1; }
.buffett-execution-panel.is-inline .buffett-execution-protection { grid-column: span 1; }
.buffett-execution-panel.is-inline .buffett-execution-note { max-width: 72ch; }

@container (max-width: 420px) {
  .buffett-execution-panel.is-inline { grid-template-columns: minmax(0, 1fr); }
  .buffett-execution-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .buffett-execution-facts > div:last-child { grid-column: span 1; }
  .buffett-execution-fields { grid-template-columns: minmax(0, 1fr); }
  .buffett-execution-choice-group { grid-column: span 1; }
  .buffett-execution-close { grid-template-columns: minmax(0, 1fr); }
  .buffett-execution-close button { width: 100%; }
}
