/* 21st.dev Origin UI Tabs (Rounded, 421): inset track, raised selection and focus ring.
   Reshaped Modal (17821): content-sized centered panel, with native dialog focus trapping. */
.ledger-segments {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:2px;
  padding:3px;
  border-radius:10px;
  background:var(--ground);
}
.ledger-segments button {
  min-height:31px;
  padding:4px 11px;
  border:1px solid transparent;
  border-radius:7px;
  color:var(--muted);
  background:transparent;
  white-space:nowrap;
  font-size:13px;
}
.ledger-segments button[aria-pressed=true] {
  color:var(--accent-dark);
  background:var(--paper);
  border-color:var(--line);
  box-shadow:0 1px 3px #19345514;
  font-weight:750;
}
.ledger-segments button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

#insight-dialog.sales-popup {
  width:min(1120px,calc(100vw - 34px));
  height:fit-content;
  max-height:calc(100dvh - 34px);
  inset:0;
  margin:auto;
}
.sales-popup .insight-modal-layout { height:auto; max-height:inherit; }
.sales-popup .insight-modal-body { gap:11px; padding:14px 20px; }
.sales-popup-head { align-items:center; padding:15px 20px; }
.sales-popup-name,.sales-popup-actions { display:flex; align-items:center; gap:10px; min-width:0; }
.sales-popup-name > span { display:grid; place-items:center; width:42px; height:42px; flex:none; border-radius:11px; color:var(--accent-dark); background:var(--accent-soft); }
.sales-popup-name > div { min-width:0; }
.sales-popup-name p { color:var(--accent-dark); margin:0 0 3px; font-size:12px; font-weight:700; }
.sales-popup-head h2 { font-size:22px; }
.sales-popup-metrics { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:9px; flex:none; }
.sales-popup-metric { min-width:0; border:1px solid var(--line); border-radius:13px; padding:11px 13px; background:var(--ground); }
.sales-popup .sales-popup-metric h3 { font-size:14px; margin:0 0 6px; }
.sales-popup-metric > strong { display:block; margin:1px 0 6px; font-size:clamp(21px,2.1vw,32px); letter-spacing:-.04em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sales-popup-metric > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 8px; border-top:1px solid var(--line); padding-top:7px; font-size:12px; }
.sales-popup-month { background:#173958; color:#fff; border-color:#173958; }
.sales-popup-month > div { border-color:#ffffff45; }
.sales-popup-debt { color:#843a27; background:#fff7f1; border-color:#efdcd1; }
[data-theme=dark] .sales-popup-debt { color:#ffbb9f; background:#382822; border-color:#654636; }
.sales-popup-years { color:var(--ink); }
.sales-popup-years > div { color:var(--muted); }
.sales-popup-years b { color:var(--ink); }
.sales-popup-panel { border:1px solid var(--line); border-radius:12px; flex:none; min-width:0; overflow:hidden; }
.sales-popup-panel > summary { padding:10px 13px; cursor:pointer; }
.sales-popup-panel > summary span { color:var(--muted); font-size:12px; margin-left:7px; }
.sales-popup-panel > button { margin:6px 11px; }
.sales-popup-list-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 11px; flex-wrap:wrap; }
.sales-popup-list-head h3 { font-size:16px; }
.sales-popup-filters { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.sales-popup-filters select { height:auto; min-height:32px; padding:4px 7px; font-size:13px; }
.sales-popup-search { padding:0 11px 6px; }
.sales-popup-search .insight-search { margin:0; max-width:265px; }
.sales-popup-search input { padding-block:4px; font-size:13px; }
.sales-popup-table { overflow:auto; border-top:1px solid var(--line); }
.sales-popup-table .sheet-table th { position:static; }
.sales-popup-table .sheet-table :is(td,th) { padding:7px 10px; font-size:13px; }
.sales-popup-table .sheet-table td.right { white-space:nowrap; font-variant-numeric:tabular-nums; }
.sales-popup-table .insight-table-entry { font-size:14px; }
.sales-popup-list-foot { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:5px 12px; padding:7px 11px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.sales-popup-list-foot b { color:var(--ink); }
.company-sales-graph { padding:8px 13px 12px; }
.company-sales-graph p { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px; font-size:13px; color:var(--muted); }
.company-graph-scroll { overflow:auto; }
.company-sales-graph ol { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:7px; min-width:550px; list-style:none; margin:12px 0 0; padding:0; }
.company-sales-graph li { display:grid; gap:5px; text-align:center; }
.company-sales-graph li div { display:flex; justify-content:center; align-items:flex-end; height:150px; border-bottom:1px solid var(--line); }
.company-sales-graph li div span { display:block; position:relative; width:min(100%,34px); height:calc(var(--bar) * .82); min-height:1px; background:var(--accent); border-radius:5px 5px 0 0; }
.company-sales-graph li b { position:absolute; bottom:calc(100% + 3px); left:50%; transform:translateX(-50%); color:var(--accent-dark); font-size:11px; white-space:nowrap; }
.company-sales-graph li small { font-size:12px; color:var(--muted); }

.directory-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:13px; min-height:0; flex:1; }
.directory-workspace .directory-table th:last-child { width:165px; }
.directory-workspace .row-actions { display:flex; gap:5px; justify-content:flex-start; }
.directory-selected > td { background:var(--accent-soft); }
.directory-profile { align-self:start; max-height:100%; overflow:auto; min-width:0; }
.directory-profile :is(dl,.company-profile-memo),.directory-profile > p { margin:13px 16px; }
.directory-profile > .btn { margin:0 16px 12px; }
.directory-profile dd { overflow-wrap:anywhere; }
.directory-table [data-company-row] { cursor:pointer; }
.directory-table [data-company-row]:hover > td { background:var(--accent-soft); }
.directory-table [data-company=profile] { width:100%; }
.directory-date-grid,.directory-contact-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
}
.directory-date-grid { padding:10px 12px; background:var(--ground); border-radius:9px; }
.directory-profile dt { color:var(--muted); font-size:12px; }
.directory-profile dd { margin:3px 0 0; color:var(--ink); font-size:14px; }
.directory-inline-editor { border-top:1px solid var(--line); padding:14px 16px 16px; }
.directory-inline-editor h3 { margin:0 0 12px; font-size:16px; }
.directory-inline-editor .form-stack { gap:10px; }
.directory-inline-editor .field-pair > *, .directory-inline-editor :is(input,textarea,select) { min-width:0; }
.directory-inline-editor :is(input,textarea,select) { max-width:100%; }
.directory-edit-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }

#transaction-dialog {
  width:min(760px,calc(100vw - 20px));
  height:fit-content;
  max-height:min(660px,calc(100dvh - 20px));
  inset:0;
  margin:auto;
}
#transaction-dialog > .dialog-layout { height:auto; min-height:0; max-height:inherit; }
#transaction-dialog .dialog-body { flex:0 1 auto; min-height:0; overflow:auto; padding:9px 14px; }
#transaction-dialog .dialog-footer { justify-content:flex-end; }
#transaction-dialog .dialog-footer .primary { flex:0 0 auto; min-width:130px; }
#transaction-form .tx-entry-block { gap:6px; padding:8px; border:1px solid var(--line); border-radius:10px; }
.tx-entry-block > h3 { grid-column:1/-1; margin:0; font-size:14px; color:var(--accent-dark); }
@media(max-width:700px) {
  .sales-popup-head { padding:10px; }
  .sales-popup-name > span { display:none; }
  .sales-popup-head h2 { font-size:17px; }
  .sales-popup-actions .insight-modal-period .icon-btn { display:none; }
  .sales-popup-actions .insight-modal-period input { width:118px; padding:4px; font-size:13px; }
  .sales-popup .insight-modal-body { padding:8px; }
  .sales-popup-metrics { grid-template-columns:1fr 1fr; gap:6px; }
  .sales-popup-years { grid-column:1/-1; }
  .sales-popup-table .sheet-table { min-width:630px; }
  .directory-workspace { display:flex; flex-direction:column; overflow:auto; }
  .directory-workspace .directory-table { min-width:0; }
  .directory-workspace .data-panel { min-height:180px; }
  .directory-profile { width:100%; max-height:none; flex-shrink:0; }
}
