/* Discount exceptions view — open and decided lists, the exception panel and
   the confirmation (plans/pricing-and-discount-authority-execution-plan.md P10).
   Linked from inside <main id="view-exceptions">; every rule is scoped to it so
   nothing here reaches another view. Tokens only, from tokens.css (UI.md §2).
   No inline styles are set by exceptions.js. */

#view-exceptions .xbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--s-2);margin:var(--s-3) 0 var(--s-4)}
#view-exceptions button{font:inherit;font-size:var(--text-sm);padding:var(--s-1) var(--s-3);
  background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-border)}

/* ---- tabs: segmented pills, as Knowledge (UI.md §1) ---------------------- */
#view-exceptions .xtabs{display:flex;flex-wrap:wrap;gap:var(--s-1);padding:var(--s-1);
  border:1px solid var(--line);border-radius:var(--radius);width:fit-content;max-width:100%;
  background:var(--surface)}
#view-exceptions .xtabs [role="tab"]{padding:var(--s-1) var(--s-3);border:1px solid transparent;
  border-radius:var(--radius);background:none;color:var(--fg);cursor:pointer}
#view-exceptions .xtabs [role="tab"]:hover{background:var(--surface-2)}
#view-exceptions .xtabs [role="tab"][aria-selected="true"]{background:var(--accent);color:var(--accent-fg);
  font-weight:var(--weight-bold)}
#view-exceptions .xtabs [role="tab"]:focus-visible,
#view-exceptions .xrow:focus-visible,
#view-exceptions .xlink:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}

#view-exceptions .xnotice{border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:var(--radius);padding:var(--s-2) var(--s-4);margin:var(--s-3) 0;max-width:70ch}
#view-exceptions .xnotice.ok{border-left-color:var(--ok)}

/* ---- lists --------------------------------------------------------------- */
#view-exceptions .num{text-align:right;font-variant-numeric:tabular-nums}
#view-exceptions th.num{text-align:right}
#view-exceptions td{vertical-align:top}
#view-exceptions .xrow{cursor:pointer}
#view-exceptions .xrow:hover{background:var(--surface-2)}
#view-exceptions .xcust{display:flex;flex-direction:column;min-width:0}
#view-exceptions .xcust-name,#view-exceptions .xcust-addr{overflow-wrap:anywhere}
#view-exceptions .xstatus{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2)}
#view-exceptions .xtimeout{flex-basis:100%}
#view-exceptions .xreason{white-space:pre-wrap;overflow-wrap:anywhere}
#view-exceptions td.xreason{max-width:24rem}
#view-exceptions .xlink{background:none;border:0;padding:0;color:var(--link);text-decoration:underline;cursor:pointer}

/* ---- the panel ----------------------------------------------------------- */
#xpanel{max-width:64rem;width:92vw;max-height:calc(100vh - var(--s-6));padding:0;overflow:hidden}
#xpanel[open]{display:flex;flex-direction:column}
#xpanel .xp-head{display:flex;align-items:center;margin:0;padding:var(--s-3) var(--s-5);
  justify-content:space-between;gap:var(--s-4);border-bottom:1px solid var(--line)}
#xpanel .xp-head h3{margin:0;overflow-wrap:anywhere}
#xpcontent{overflow:auto;padding:var(--s-3) var(--s-5) var(--s-5)}
#xpanel .xp-sec{border-top:1px solid var(--line);padding:var(--s-3) 0}
#xpanel h4{margin:0 0 var(--s-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted)}
#view-exceptions .xp-kv{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-1) var(--s-4);
  margin:var(--s-2) 0;font-size:var(--text-sm)}
#view-exceptions .xp-kv dt{color:var(--muted)}
#view-exceptions .xp-kv dd{margin:0;overflow-wrap:anywhere;min-width:0}
#view-exceptions .xtext{max-height:24rem;overflow:auto;padding:var(--s-2) var(--s-3);
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}

#view-exceptions .xsummary{border:1px solid var(--warn);border-left:4px solid var(--warn);border-radius:var(--radius);
  background:var(--warnbg);padding:var(--s-2) var(--s-4);margin:0 0 var(--s-3)}
#view-exceptions .xsummary b{color:var(--warn)}
#view-exceptions .xsummary p{margin:var(--s-1) 0}
#view-exceptions .xfindings{list-style:none;margin:0;padding:0}
#view-exceptions .xfindings li{margin:var(--s-1) 0;overflow-wrap:anywhere}

/* ---- the quote ----------------------------------------------------------- */
#view-exceptions .xquote-t{max-width:56rem}
#view-exceptions .xquote-t tfoot th{color:var(--fg);text-transform:none;letter-spacing:0}
#view-exceptions .xline-hit{background:var(--accent-weak)}
#view-exceptions .xhit{color:var(--accent)}
#view-exceptions mark{background:var(--warnbg);color:var(--fg);outline:1px solid var(--warn);
  border-radius:2px;padding:0 2px}
#view-exceptions .xwas{text-decoration:line-through}

/* ---- the decision -------------------------------------------------------- */
#view-exceptions .xdecide{max-width:40rem}
#view-exceptions .xchoice{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-2) var(--s-3);margin:0 0 var(--s-3)}
#view-exceptions .xchoice legend{font-size:var(--text-xs);color:var(--muted);padding:0 var(--s-1)}
#view-exceptions .xradio{display:flex;align-items:center;gap:var(--s-1);margin:var(--s-1) 0;font-size:var(--text-sm)}
#view-exceptions .xfield{display:flex;flex-direction:column;gap:var(--s-1);margin:0 0 var(--s-3);font-size:var(--text-sm)}
#view-exceptions .xfield[hidden]{display:none}
#view-exceptions .xpct-wrap{display:flex;align-items:center;gap:var(--s-1)}
#view-exceptions .xpct,#view-exceptions .xreason-in{font:inherit;font-size:var(--text-sm);padding:var(--s-1) var(--s-2);
  border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--fg)}
#view-exceptions .xpct{width:6rem;text-align:right}
#view-exceptions .xreason-in{width:100%;resize:vertical}
#view-exceptions .xactions{display:flex;gap:var(--s-2)}
#view-exceptions .xprimary{font-weight:var(--weight-bold)}
#view-exceptions .xfold{margin:var(--s-3) 0}
#view-exceptions .xfold summary{cursor:pointer;font-size:var(--text-sm)}

#xconfirm .xc-plain{font-size:var(--text-base)}
