/* Settings: Money and Data pages (canvas-settings-b). Prefix: pui-settingsb- */
.pui-settingsb-saved { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--tone-success-fg); }
.pui-settingsb-cycle-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 14px; max-width: 520px; }
.pui-settingsb-next { border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; background: var(--background); }
.pui-settingsb-next-title { font-size: 13px; font-weight: 500; }
.pui-settingsb-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 14px; }
.pui-settingsb-tile-label { font-size: 12px; color: var(--muted-foreground); }
.pui-settingsb-tile-value, .pui-settingsb-tile-value-num { font-size: 14px; font-weight: 600; margin-top: 2px; }
.pui-settingsb-tile-value-num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.pui-settingsb-next-note, .pui-settingsb-hint { font-size: 12px; line-height: 1.45; color: var(--muted-foreground); margin: 0; }
.pui-settingsb-applies { font-size: 13px; color: var(--muted-foreground); font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.pui-settingsb-opts .cn-radio-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 12px; }
.pui-settingsb-opts .cn-radio-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); cursor: pointer; width: 100%; box-sizing: border-box; }
.pui-settingsb-opts .cn-radio-item:has(input:checked) { border-color: var(--primary); background: var(--tone-info-bg); }
.pui-settingsb-opts .cn-radio-control { margin-top: 2px; }
.pui-settingsb-opt-title { font-size: 14px; font-weight: 600; }
.pui-settingsb-opt-desc { font-size: 13px; color: var(--muted-foreground); line-height: 1.45; }
.pui-settingsb-applies-plain { font-size: 13px; color: var(--muted-foreground); }
.pui-settingsb-toggle { align-self: flex-start; width: max-content; max-width: 100%; }
.pui-settingsb-account-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; }
.pui-settingsb-hint-lg { font-size: 13px; line-height: 1.5; color: var(--muted-foreground); margin: 0; }
.pui-settingsb-costs { flex-wrap: wrap; width: 100%; }
.pui-settingsb-costs-total { flex: 1 1 280px; min-width: 0; }
.pui-settingsb-kpi { font-size: 28px; font-weight: 600; font-family: var(--font-mono); font-variant-numeric: tabular-nums; line-height: 1.1; }
.pui-settingsb-kpi-unit { font-size: 14px; color: var(--muted-foreground); }
.pui-settingsb-segbar { height: 12px; border-radius: 999px; overflow: hidden; background: var(--muted); }
.pui-settingsb-seg { display: block; height: 100%; }
.pui-settingsb-swatch { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.pui-settingsb-group-title { font-size: 14px; font-weight: 600; }
.pui-settingsb-cost-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 14px; align-items: end; }
.pui-settingsb-label { font-size: 13px; font-weight: 500; }
.pui-settingsb-computed { height: 36px; display: flex; align-items: center; font-weight: 600; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.pui-settingsb-lede > * { display: inline; }
.pui-settingsb-lede { display: block; max-width: 640px; font-size: 14px; line-height: 1.5; color: var(--muted-foreground); margin: 0; }
.pui-settingsb-lede-link.cn-button { height: auto; padding: 0; font-size: 14px; display: inline; text-decoration: underline; }
.pui-settingsb-entity-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 10px; }
.pui-settingsb-optcard { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); cursor: pointer; }
.pui-settingsb-optcard:has(input:checked) { border-color: var(--primary); background: var(--tone-info-bg); }
.pui-settingsb-optcard input { margin-top: 3px; }
.pui-settingsb-opt-hint { font-size: 12px; color: var(--muted-foreground); line-height: 1.45; }
/* Input groups inside settings cards: one bordered box, like the sheet ones. */
.pui-settingsa-card .cn-input-group { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px; border: 1px solid var(--input); border-radius: 8px; background: var(--card); color: var(--muted-foreground); box-shadow: none; }
.pui-settingsa-card .cn-input-group .cn-input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: 14px; color: var(--foreground); }
.pui-settingsa-card .cn-input-group .cn-input:focus { outline: 0; }
.pui-settingsa-card .cn-input-group:focus-within { outline: 2px solid var(--ring); outline-offset: 0; border-color: var(--ring); }
.pui-settingsa-card .cn-input-group-addon, .pui-settingsa-card .cn-input-group [data-slot="input-group-addon"] { color: var(--muted-foreground); font-size: 14px; padding: 0; border: 0; background: transparent; }
.pui-settingsa-card .cn-input-group [data-slot="input-group-addon"]:last-child { font-size: 12px; }
.pui-settingsb-strong-num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-weight: 600; font-size: 13px; }
.pui-settingsb-muted-num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 13px; color: var(--muted-foreground); white-space: pre; }
.pui-settingsb-date { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 13px; white-space: nowrap; }
.pui-settingsb-table-card.cn-card { overflow: hidden; padding: 0; gap: 0; }
/* Direct import */
.pui-settingsb-dropzone.cn-button { display: flex; flex-direction: column; align-items: center; justify-content: center; height: auto; width: 100%; white-space: normal; gap: 6px; text-align: center; padding: 36px 24px; border: 1.5px dashed var(--input); border-radius: 12px; background: var(--muted); cursor: pointer; font-weight: 400; }
.pui-settingsb-dropzone.cn-button:hover:not(:disabled) { border-color: var(--ring); background: var(--muted); }
.pui-settingsb-dropzone > .sc-vstack { align-items: center; gap: 6px; }
.pui-settingsb-drop-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--card); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; color: var(--primary); }
.pui-settingsb-drop-title { font-size: 16px; font-weight: 600; color: var(--foreground); }
.pui-settingsb-drop-hint { font-size: 14px; color: var(--muted-foreground); }
.pui-settingsb-upload-name { font-family: var(--font-mono); font-size: 14px; font-weight: 600; }
.pui-settingsb-upload-pct { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 22px; font-weight: 600; }
.pui-settingsb-step-bar { height: 4px; border-radius: 999px; background: var(--muted); display: block; }
.pui-settingsb-step-done { background: var(--primary); }
.pui-settingsb-step-now { background: var(--tone-info-fg); }
.pui-settingsb-step-label { font-size: 12px; color: var(--muted-foreground); white-space: nowrap; }
.pui-settingsb-row-error { font-size: 12px; color: var(--tone-danger-fg); margin-top: 2px; }
.pui-settingsb-danger-text.cn-button { color: var(--tone-danger-fg); }
/* Row lists (connected accounts, services) */
.pui-settingsb-rows-card.cn-card { overflow: hidden; gap: 0; padding-bottom: 0; }
.pui-settingsb-rows-head { padding-bottom: 14px; max-width: 760px; }
.pui-settingsb-rows-card .cn-card-content { padding: 0; }
.pui-settingsb-rows { border-top: 1px solid var(--border); width: 100%; }
.pui-settingsb-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 14px 20px; border-top: 1px solid var(--border); width: 100%; box-sizing: border-box; }
.pui-settingsb-rows > .pui-settingsb-row:first-child { border-top: 0; }
.pui-settingsb-row-name { font-size: 14px; font-weight: 500; }
.pui-settingsb-row-detail { font-size: 13px; color: var(--muted-foreground); }
.pui-settingsb-row-actions { align-items: center; flex-wrap: wrap; }
.pui-settingsb-grp { display: block; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-foreground); padding: 12px 20px 6px; background: var(--background); border-top: 1px solid var(--border); width: 100%; box-sizing: border-box; }
.pui-settingsb-rows > .pui-settingsb-grp:first-child { border-top: 0; }
/* Geofences */
.pui-settingsb-geo { flex-wrap: wrap; align-items: stretch; width: 100%; gap: 20px; }
.pui-settingsb-geo-list { flex: 1 1 320px; max-width: 380px; min-width: 0; }
.pui-settingsb-geo .pui-map-stage { flex: 999 1 420px; min-width: 0; min-height: 640px; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.pui-settingsb-geo-search.pui-settingsa-search { flex: none; width: 100%; min-width: 0; }
.pui-settingsb-geo-item { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--card); cursor: pointer; }
.pui-settingsb-geo-selected { border-color: var(--primary); background: var(--tone-info-bg); box-shadow: 0 0 0 1px var(--primary); }
.pui-settingsb-geo-name { font-size: 14px; font-weight: 600; }
.pui-settingsb-geo-address { font-size: 13px; color: var(--muted-foreground); }
.pui-settingsb-geo-meta { font-size: 12px; color: var(--muted-foreground); font-family: var(--font-mono); font-variant-numeric: tabular-nums; margin-top: 4px; }
.pui-settingsb-geo-count { font-size: 13px; color: var(--muted-foreground); text-align: center; padding: 4px 0; }
.pui-settingsb-dropzone-static { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 36px 24px; border: 1.5px dashed var(--input); border-radius: 12px; background: var(--muted); }
.pui-settingsb-dropzone-static[role="button"] { cursor: pointer; }
.pui-settingsb-dropzone-static[role="button"]:hover { border-color: var(--ring); }
.pui-settingsb-dropzone-static > .sc-vstack { align-items: center; }
/* Smart Import center */
.pui-settingsb-step-label-now { color: var(--foreground); font-weight: 600; }
.pui-settingsb-group-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--muted-foreground); margin: 0; }
.pui-settingsb-cat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 14px; }
.pui-settingsb-cat-card { padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); min-width: 0; }
.pui-settingsb-cat-selected { border-color: var(--primary); box-shadow: 0 0 0 1px var(--primary); }
.pui-settingsb-cat-title { font-size: 16px; font-weight: 600; }
/* Smart Import history */
.pui-settingsb-job-name { font-family: var(--font-mono); font-size: 13px; font-weight: 600; color: var(--foreground); text-decoration: none; }
.pui-settingsb-job-name:hover { text-decoration: underline; }
.pui-settingsb-job-meta { font-size: 12px; color: var(--muted-foreground); }
/* Smart Import review */
.pui-settingsb-detail-title { font-family: var(--font-mono); font-size: 20px; font-weight: 600; margin: 0; word-break: break-all; }
.pui-settingsb-detail { flex-wrap: wrap; align-items: flex-start; width: 100%; }
.pui-settingsb-detail-main { flex: 999 1 440px; min-width: 0; }
.pui-settingsb-detail-side { flex: 1 1 280px; min-width: 0; }
.pui-settingsb-note { font-size: 12px; color: var(--muted-foreground); margin: 0; }
.pui-settingsb-summary { font-size: 14px; line-height: 1.5; margin: 0; }
.pui-settingsb-rev-row { align-items: flex-start; padding: 12px 20px; border-top: 1px solid var(--border); width: 100%; box-sizing: border-box; }
.pui-settingsb-rows > .pui-settingsb-rev-row:first-child { border-top: 0; }
.pui-settingsb-issue-icon { flex: none; margin-top: 2px; }
.pui-settingsb-issue-danger { color: var(--tone-danger-fg); }
.pui-settingsb-issue-warning { color: var(--tone-warning-fg); }
.pui-settingsb-issue-text { font-size: 13px; line-height: 1.5; min-width: 0; }
.pui-settingsb-issue-text > * { display: inline; }
.pui-settingsb-state { align-items: center; text-align: center; padding: 28px 8px; }
.pui-settingsb-state-icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.pui-settingsb-state-success { background: var(--tone-success-bg); color: var(--tone-success-fg); }
.pui-settingsb-state-danger { background: var(--tone-danger-bg); color: var(--tone-danger-fg); }
.pui-settingsb-state-title { font-size: 17px; font-weight: 600; }
/* A link that looks like a button (navigation, not an action) */
.pui-settingsb-linkbtn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 8px; border: 1px solid var(--input); background: var(--card); color: var(--foreground); font-size: 14px; font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; box-sizing: border-box; }
.pui-settingsb-linkbtn:hover { background: var(--accent); color: var(--foreground); text-decoration: none; }
.pui-settingsb-linkbtn.pui-settingsb-linkbtn-primary { background: var(--primary); border-color: transparent; color: var(--primary-foreground); }
.pui-settingsb-linkbtn-primary:hover { background: oklch(0.33 0.07 258); color: var(--primary-foreground); }
.pui-settingsb-linkbtn-sm { height: 32px; padding: 0 10px; font-size: 13px; border-radius: 7px; }
.pui-settingsb-table-card .cn-card-header { padding-bottom: 12px; }
