:root {
  --bo-bg: var(--sv-color-canvas);
  --bo-paper: var(--sv-color-surface);
  --bo-ink: var(--sv-color-text);
  --bo-muted: var(--sv-color-text-muted);
  --bo-line: var(--sv-color-border);
  --bo-green: var(--sv-color-brand);
  --bo-green-soft: var(--sv-color-selection-bg);
  --bo-amber: var(--sv-color-warning);
  --bo-red: var(--sv-color-danger);
  --bo-shadow: var(--sv-shadow-dialog);
}

* { box-sizing: border-box; }
.butler-ops-body { margin: 0; color: var(--bo-ink); background: var(--bo-bg); font-family: var(--sv-font-sans); }
.butler-ops-body::before { content: none; }
.bo-shell { position: relative; width: min(1240px, calc(100% - 64px)); margin: 0 auto; padding: 42px 0 90px; }
.bo-topbar, .bo-command-main, .bo-top-actions, .bo-tabs, .bo-delivery-head, .bo-ledger-head, .bo-settings > header, .bo-settings footer { display: flex; align-items: center; }
.bo-topbar { justify-content: space-between; gap: 36px; min-height: 130px; border-bottom: 1px solid var(--bo-line); }
.bo-heading { max-width: 760px; }
.bo-back { display: inline-block; margin-bottom: 18px; color: var(--bo-muted); font-size: 13px; text-decoration: none; }
.bo-heading > p, .bo-delivery-head span, .bo-ledger-head span, .bo-settings > header span, .bo-report-section > span { margin: 0 0 8px; color: var(--bo-green); font: 700 10px/1.2 var(--sv-font-mono); letter-spacing: .15em; }
.bo-heading h1 { margin: 0; font: 600 var(--sv-font-size-title, 1.75rem)/1.28 var(--sv-font-sans, sans-serif); letter-spacing: -0.01em; }
.bo-heading > span { display: block; margin-top: 13px; color: var(--bo-muted); font-size: 14px; line-height: 1.7; }
.bo-top-actions { gap: 10px; flex-shrink: 0; }
.bo-button { appearance: none; border: 1px solid var(--bo-green); border-radius: 7px; background: var(--bo-green); color: var(--sv-color-on-brand); min-height: 42px; padding: 0 18px; font: 750 13px/1 sans-serif; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: transform .18s ease, box-shadow .18s ease; }
.bo-button:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(45, 104, 78, .18); }
.bo-button:disabled { opacity: .55; cursor: wait; transform: none; box-shadow: none; }
.bo-button--quiet { background: transparent; color: var(--bo-ink); border-color: var(--bo-line); }
.bo-command { display: grid; grid-template-columns: 1.3fr 1fr; gap: 42px; margin: 32px 0 0; padding: 28px; background: var(--bo-paper); border: 1px solid var(--bo-line); box-shadow: var(--bo-shadow); }
.bo-command-main { gap: 20px; min-width: 0; }
.bo-avatar { display: grid; place-items: center; flex: 0 0 72px; height: 72px; color: var(--sv-color-on-brand); background: var(--bo-green); border-radius: 50%; font: 700 24px/1 var(--sv-font-sans); box-shadow:0 0 34px rgba(var(--sv-brand-rgb), .14); }
.bo-live { display: flex; align-items: center; gap: 7px; color: var(--bo-muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.bo-live i { width: 7px; height: 7px; border-radius: 50%; background: #55a270; box-shadow: 0 0 0 5px rgba(85, 162, 112, .12); }
.bo-command h2 { margin: 9px 0 6px; font: 500 25px/1.25 var(--sv-font-sans); }
.bo-command p { margin: 0; color: var(--bo-muted); font-size: 13px; line-height: 1.6; }
.bo-command-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-left: 1px solid var(--bo-line); }
.bo-command-metrics div { display: flex; flex-direction: column; justify-content: center; padding: 0 20px; border-right: 1px solid var(--bo-line); }
.bo-command-metrics dt { color: var(--bo-muted); font-size: 11px; }
.bo-command-metrics dd { margin: 10px 0 0; font: 600 18px/1.2 var(--sv-font-mono); }
.bo-tabs { gap: 34px; margin-top: 34px; border-bottom: 1px solid var(--bo-line); }
.bo-tabs button { position: relative; border: 0; background: none; padding: 0 2px 15px; color: var(--bo-muted); font: 600 14px/1 sans-serif; cursor: pointer; }
.bo-tabs button.is-active { color: var(--bo-ink); }
.bo-tabs button.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--bo-green); }
.bo-view { padding-top: 30px; }
.bo-view[hidden] { display: none !important; }
.bo-delivery-head, .bo-ledger-head { justify-content: space-between; margin-bottom: 18px; }
.bo-delivery-head h2, .bo-ledger-head h2, .bo-settings > header h2 { margin: 0; font: 500 25px/1.2 var(--sv-font-sans); }
.bo-delivery-head time { color: var(--bo-muted); font-size: 12px; }
.bo-empty { display: flex; gap: 22px; align-items: center; min-height: 180px; padding: 38px; border: 1px dashed rgba(var(--sv-brand-rgb), .3); background: rgba(17,21,20,.72); }
.bo-empty > span { color: var(--bo-green); font: 500 56px/1 var(--sv-font-sans); opacity: .26; }
.bo-empty strong { font: 500 20px/1.3 var(--sv-font-sans); }
.bo-empty p, .bo-placeholder { color: var(--bo-muted); font-size: 13px; }
.bo-delivery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bo-report-section { min-height: 180px; padding: 24px; border: 1px solid var(--bo-line); background: var(--bo-paper); }
.bo-report-section--wide { grid-column: 1 / -1; min-height: 140px; }
.bo-report-section--attention { background: rgba(224,164,79,.075); border-color: rgba(224,164,79,.28); }
.bo-report-section h3 { margin: 0 0 18px; font: 500 18px/1.2 var(--sv-font-sans); }
.bo-report-item { padding: 11px 0; border-top: 1px solid var(--bo-line); }
.bo-report-item:first-child { border-top: 0; padding-top: 0; }
.bo-report-item b { display: block; font-size: 13px; line-height: 1.5; }
.bo-report-item small { display: block; margin-top: 4px; color: var(--bo-muted); line-height: 1.5; }
.bo-report-item a { color: var(--bo-green); font-size: 12px; text-decoration: none; }
.bo-ledger-head a { color: var(--bo-green); font-size: 12px; text-decoration: none; }
.bo-cost-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--bo-line); background: var(--bo-paper); }
.bo-cost-strip article { padding: 22px; border-right: 1px solid var(--bo-line); }
.bo-cost-strip article:last-child { border: 0; }
.bo-cost-strip span { display: block; color: var(--bo-muted); font-size: 11px; }
.bo-cost-strip strong { display: block; margin-top: 10px; font: 600 24px/1 var(--sv-font-mono); }
.bo-history { margin-top: 18px; border-top: 1px solid var(--bo-line); }
.bo-history-row { display: grid; grid-template-columns: 110px 1fr auto; gap: 24px; align-items: center; min-height: 84px; border-bottom: 1px solid var(--bo-line); }
.bo-history-row > span { color: var(--bo-muted); font: 600 10px/1.4 var(--sv-font-mono); letter-spacing: .08em; }
.bo-history-row b { font-size: 14px; }
.bo-history-row small { display: block; margin-top: 5px; color: var(--bo-muted); }
.bo-history-row em { color: var(--bo-muted); font: normal 12px/1.4 var(--sv-font-mono); text-align: right; }
.bo-settings { border: 1px solid var(--bo-line); background: var(--bo-paper); box-shadow: var(--bo-shadow); }
.bo-settings > header { justify-content: space-between; gap: 28px; padding: 28px; border-bottom: 1px solid var(--bo-line); }
.bo-settings > header p { max-width: 430px; margin: 0; color: var(--bo-muted); font-size: 13px; line-height: 1.65; }
.bo-settings fieldset { display: grid; grid-template-columns: 220px 1fr; gap: 32px; margin: 0; padding: 28px; border: 0; border-bottom: 1px solid var(--bo-line); }
.bo-settings legend { display: contents; }
.bo-settings legend > b { display: none; }
.bo-settings legend > span { grid-column: 1; font: 500 17px/1.3 var(--sv-font-sans); }
.bo-settings legend small { display: block; margin-top: 8px; color: var(--bo-muted); font: 12px/1.6 sans-serif; }
.bo-settings fieldset > :not(legend) { grid-column: 2; }
.bo-choice-grid, .bo-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.bo-choice-grid--two { grid-template-columns: 1fr 1fr; }
.bo-choice-grid label, .bo-check-grid label { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid var(--bo-line); cursor: pointer; }
.bo-choice-grid input, .bo-check-grid input { accent-color: var(--bo-green); margin-top: 2px; }
.bo-choice-grid b, .bo-choice-grid small { display: block; }
.bo-choice-grid b { font-size: 13px; }
.bo-choice-grid small { margin-top: 5px; color: var(--bo-muted); font-size: 11px; line-height: 1.5; }
.bo-check-grid--targets { margin-top: 10px; grid-template-columns: 1fr 1fr; }
.bo-field-row { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.bo-field-row--compact { margin-top: 12px; }
.bo-field-row label { min-width: 112px; }
.bo-field-grow { flex: 1; }
.bo-field-row label > span { display: block; margin-bottom: 7px; color: var(--bo-muted); font-size: 11px; }
.bo-field-row input, .bo-field-row select { width: 100%; height: 42px; padding: 0 11px; border: 1px solid var(--bo-line); border-radius: 5px; color: var(--bo-ink); background: var(--sv-color-surface); color-scheme: dark; font: 13px/1 sans-serif; }
.bo-settings footer { justify-content: space-between; padding: 22px 28px; }
.bo-settings footer span { color: var(--bo-muted); font-size: 12px; }
.bo-toast { position: fixed; z-index: 50; right: 28px; bottom: 28px; max-width: 360px; padding: 13px 16px; color: var(--bo-ink); background: var(--sv-color-surface-hover); border: 1px solid var(--bo-line); border-radius: 6px; box-shadow: var(--bo-shadow); opacity: 0; transform: translateY(12px); pointer-events: none; transition: .2s ease; font-size: 13px; }
.bo-toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 900px) {
  .bo-shell { width: min(100% - 32px, 1240px); padding-top: 24px; }
  .bo-topbar, .bo-command, .bo-settings fieldset { display: block; }
  .bo-top-actions { margin-top: 22px; }
  .bo-command-metrics { margin-top: 24px; padding-top: 22px; border-left: 0; border-top: 1px solid var(--bo-line); }
  .bo-choice-grid, .bo-check-grid { margin-top: 20px; grid-template-columns: 1fr 1fr; }
  .bo-settings fieldset > :not(legend) { margin-top: 22px; }
}
@media (max-width: 620px) {
  .bo-top-actions, .bo-command-main, .bo-settings > header, .bo-settings footer { align-items: stretch; flex-direction: column; }
  .bo-command-metrics, .bo-cost-strip, .bo-delivery-grid, .bo-choice-grid, .bo-check-grid { grid-template-columns: 1fr; }
  .bo-command-metrics div { padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--bo-line); }
  .bo-report-section--wide { grid-column: auto; }
  .bo-history-row { grid-template-columns: 1fr; gap: 7px; padding: 18px 0; }
  .bo-history-row em { text-align: left; }
}

/* Light-mode semantic adapter. */
html[data-theme="light"] .bo-empty { background:var(--sv-color-surface-subtle); border-color:var(--sv-color-border); }
