.nbi-features { min-width:0; }
.nbi-feature-tabs { display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--border); padding:0 0 10px; margin-bottom:22px; }
.nbi-feature-tabs button { min-height:44px; padding:8px 12px; font:inherit; font-size:13px; border:1px solid transparent; border-radius:5px; background:transparent; color:var(--muted); }
.nbi-feature-tabs button:hover { color:var(--foreground); background:#35132a; }
.nbi-feature-tabs button[aria-selected=true] { color:#f4dcec; border-color:#73455f; background:#452039; }
.nbi-feature-section { min-width:0; border-top:1px solid var(--border); padding:18px 0 24px; }
.nbi-feature-heading { display:flex; justify-content:space-between; align-items:start; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.nbi-feature-heading h2 { font-size:18px; line-height:1.5; font-weight:600; margin:0 0 6px; }
.nbi-feature-heading p { color:var(--muted); font-size:13px; line-height:1.7; margin:0; max-width:76ch; }
.nbi-feature-simulated { flex:0 0 auto; color:#d4b993; border:1px solid #665239; border-radius:4px; padding:4px 6px; font-size:10px; letter-spacing:.5px; }
.nbi-feature-section h3 { font-size:14px; font-weight:600; margin:24px 0 12px; }
.nbi-feature-form { border:1px solid var(--border); background:var(--card); border-radius:7px; padding:16px; margin:16px 0 22px; min-width:0; }
.nbi-feature-form h3 { margin:0 0 16px; }
.nbi-feature-form fieldset, .nbi-feature-mapping { border:0; padding:0; margin:0; min-width:0; }
.nbi-feature-form fieldset > .nbi-field { margin-top:14px; }
.nbi-feature-form fieldset > .nbi-button { margin-top:16px; }
.nbi-feature-form .nbi-checkbox { padding-top:8px; }
.nbi-feature-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.nbi-feature-fields > *, .nbi-feature-two-columns > * { min-width:0; }
.nbi-feature-fields select, .nbi-feature-fields input { width:100%; }
.nbi-feature-two-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
.nbi-feature-two-columns .nbi-feature-form:first-child { margin-top:0; }
.nbi-feature-table-scroll { width:100%; max-width:100%; overflow:auto; margin-top:20px; border:1px solid var(--border); border-radius:6px; }
.nbi-feature-table-scroll { min-width:0; }
.nbi-feature-table { border-collapse:collapse; width:100%; color:var(--foreground); text-align:left; font-size:12px; line-height:1.5; }
.nbi-feature-table th { background:#321124; color:#c4aabc; padding:10px 12px; border-bottom:1px solid var(--border); font-weight:550; white-space:nowrap; }
.nbi-feature-table td { vertical-align:top; padding:13px 12px; border-bottom:1px solid var(--border); min-width:90px; max-width:340px; overflow-wrap:anywhere; }
.nbi-feature-table tr:last-child td { border-bottom:0; }
.nbi-feature-table tbody tr:hover { background:#321025; }
.nbi-feature-row-actions { display:flex; flex-wrap:wrap; min-width:130px; gap:3px 8px; }
.nbi-feature-row-actions .nbi-text-button { font-size:12px; }
.nbi-feature-preview { border-left:2px solid #96567f; padding-left:16px; margin-top:20px; }
.nbi-feature-preview > .nbi-button { margin-top:16px; }
.nbi-feature-series { margin-top:20px; padding-top:16px; border-top:1px solid var(--border); }
.nbi-feature-series > small { display:block; overflow-wrap:anywhere; color:var(--muted); margin-top:7px; }
.nbi-feature-floor { position:relative; min-height:340px; margin-bottom:18px; border:1px solid var(--border); border-radius:6px; background:repeating-linear-gradient(0deg,transparent,transparent 19px,#3b21321f 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,#3b21321f 20px),#220919; overflow:hidden; }
.nbi-feature-floor-table { --feature-table-width:100px; --feature-table-height:64px; position:absolute; width:var(--feature-table-width); height:var(--feature-table-height); box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:8px; border:1px solid #745269; background:#38172b; color:var(--foreground); border-radius:7px; font-size:12px; overflow:hidden; }
.nbi-feature-floor-table strong { display:block; width:100%; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:12px; line-height:16px; }
.nbi-feature-floor-table:focus-visible { outline:none; box-shadow:inset 0 0 0 2px var(--ring); }
.nbi-feature-floor-table small { display:block; width:100%; min-width:0; font-size:10px; line-height:14px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nbi-feature-floor-table.round { --feature-table-width:68px; --feature-table-height:68px; border-radius:50%; }
.nbi-feature-floor-table.square { --feature-table-width:68px; --feature-table-height:68px; border-radius:6px; }
.nbi-feature-floor-table.selected { border:2px solid #ce87b4; background:#582640; }
.nbi-feature-floor-table:hover { background:#56243f; }
.nbi-feature-tier { display:grid; grid-template-columns:1fr 1fr 1.2fr 44px; align-items:end; gap:10px; margin:12px 0; }
.nbi-feature-weekdays { display:flex; flex-wrap:wrap; gap:2px 18px; border:1px solid var(--border)!important; border-radius:5px; padding:10px 14px!important; margin:18px 0!important; }
.nbi-feature-weekdays legend { padding:0 6px; font-size:12px; color:var(--muted); }
.nbi-feature-mapping { margin:20px 0; }
.nbi-feature-mapping legend { color:var(--muted); margin-bottom:12px; font-size:12px; }
.nbi-feature-mapping > .nbi-button { margin-top:12px; }
.nbi-feature-mapping-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4px 0; border-bottom:1px solid var(--border); font-size:12px; overflow-wrap:anywhere; }
.nbi-feature-mapping-row > span { min-width:0; overflow-wrap:anywhere; }
.nbi-feature-mapping-row > button { flex-shrink:0; }
.nbi-feature-weekdays { min-width:0; max-width:100%; }
.nbi-features .nbi-checkbox { min-width:0; max-width:100%; }
.nbi-features .nbi-checkbox > span { min-width:0; overflow-wrap:anywhere; }
.nbi-feature-heading > div { min-width:0; max-width:100%; }
.nbi-feature-section :is(h2,h3,p,legend), .nbi-feature-notice, .nbi-feature-recovery { overflow-wrap:anywhere; }
.nbi-features .nbi-field :is(input,select,textarea) { max-width:100%; }
.nbi-feature-notice { border:1px solid #4a705d; background:#1e3329; color:#cce2d2; padding:12px 14px; border-radius:5px; line-height:1.6; }
.nbi-feature-recovery { border:1px solid #886346; background:#38251d; color:#e5cead; border-radius:6px; padding:14px; margin:16px 0; font-size:13px; line-height:1.6; }
.nbi-feature-recovery p { margin:8px 0 12px; }
.nbi-feature-report-filter { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin:16px 0; }
.nbi-feature-report-filter .nbi-field { flex:1 1 160px; max-width:220px; }
.nbi-feature-report-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:1px solid var(--border); border-radius:6px; margin:22px 0; }
.nbi-feature-report-totals > div { padding:14px; border-bottom:1px solid var(--border); border-right:1px solid var(--border); }
.nbi-feature-report-totals dt { color:var(--muted); font-size:12px; line-height:1.5; }
.nbi-feature-report-totals dd { font-size:22px; margin:6px 0 0; font-variant-numeric:tabular-nums; }
.nbi-feature-footer { color:var(--muted); font-size:11px; line-height:1.7; margin-top:18px; padding-top:14px; border-top:1px solid var(--border); }
.nbi-feature-loading { min-height:24px; }
@media(max-width:1024px) { .nbi-feature-two-columns { grid-template-columns:minmax(0,1fr); } .nbi-feature-floor { max-width:650px; } }
@media(max-width:640px) { .nbi-feature-fields { grid-template-columns:minmax(0,1fr); } .nbi-feature-tabs { gap:2px; } .nbi-feature-tabs button { padding:8px 10px; font-size:12px; } .nbi-feature-form { padding:14px; } .nbi-feature-tier { grid-template-columns:repeat(3,minmax(0,1fr)); padding-bottom:12px; border-bottom:1px solid var(--border); } .nbi-feature-tier .nbi-icon-button { grid-column:3; justify-self:end; } .nbi-feature-floor { margin:24px 20px; min-height:300px; } .nbi-feature-floor-table { --feature-table-width:88px; --feature-table-height:58px; } .nbi-feature-floor-table.round { --feature-table-width:62px; --feature-table-height:62px; } .nbi-feature-floor-table.square { --feature-table-width:62px; --feature-table-height:62px; } .nbi-feature-report-totals { grid-template-columns:repeat(2,minmax(0,1fr)); } .nbi-feature-report-totals dd { font-size:20px; } .nbi-feature-table td { min-width:82px; padding:12px 9px; } .nbi-feature-report-filter .nbi-field { max-width:none; } }

/* Stripe sandbox payments keep provider actions separate from local simulations. */
.stripe-payments-panel { min-width:0; }
.stripe-sandbox-status { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; margin-bottom:14px; border-block:1px solid var(--border); }
.stripe-sandbox-status strong { font-size:13px; }
.stripe-sandbox-status p { max-width:70ch; color:var(--muted); font-size:12px; line-height:1.6; margin:5px 0 0; }
.stripe-sandbox-status .nbi-button { flex-shrink:0; }
.stripe-policy-form, .stripe-create-form { margin:16px 0; }
.stripe-policy-form fieldset, .stripe-create-form fieldset { min-width:0; border:1px solid var(--border); border-radius:6px; padding:14px; }
.stripe-policy-form legend, .stripe-create-form legend { font-size:13px; font-weight:600; padding:0 5px; }
.stripe-policy-form .nbi-checkbox { margin:0 0 14px; }
.stripe-policy-form .nbi-field { max-width:260px; }
.stripe-policy-form .nbi-muted, .stripe-create-form .nbi-muted { margin:10px 0; line-height:1.6; }
.stripe-form-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,190px); gap:12px; margin-bottom:14px; }
.stripe-payment-list { margin:20px 0; border-block:1px solid var(--border); }
.stripe-payment-row { display:grid; grid-template-columns:minmax(160px,1fr) minmax(210px,.85fr) minmax(180px,1fr); gap:16px; padding:16px 0; border-bottom:1px solid var(--border); align-items:start; }
.stripe-payment-row:last-child { border-bottom:0; }
.stripe-payment-row:hover { background:var(--surface-alt,#f8fafb); }
.stripe-payment-main { min-width:0; display:flex; flex-direction:column; gap:5px; overflow-wrap:anywhere; font-size:13px; }
.stripe-payment-main span, .stripe-payment-main small { font-size:11px; color:var(--muted); line-height:1.6; }
.stripe-payment-main p { color:var(--danger,#9b3b32); font-size:12px; line-height:1.6; }
.stripe-payment-amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.stripe-payment-amounts dt { color:var(--muted); font-size:10px; line-height:1.5; }
.stripe-payment-amounts dd { margin:5px 0 0; font-size:13px; font-variant-numeric:tabular-nums; }
.stripe-payment-state { min-width:0; }
.stripe-payment-state > strong { font-size:12px; overflow-wrap:anywhere; }
.stripe-row-actions { display:flex; gap:5px 12px; align-items:center; flex-wrap:wrap; margin-top:5px; }
.stripe-row-actions .nbi-text-button { min-height:34px; }
.stripe-notifications { padding-top:12px; }
.stripe-notifications > p { line-height:1.7; }
.stripe-notifications ul { margin:12px 0 0; padding:0; list-style:none; border-top:1px solid var(--border); }
.stripe-notifications li { display:flex; gap:12px; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--border); font-size:12px; overflow-wrap:anywhere; }
.stripe-notifications li strong { font-weight:500; }
.stripe-notifications li span { color:var(--muted); font-size:11px; flex-shrink:0; }
.stripe-empty-notifications { margin:12px 0; color:var(--muted); font-size:12px; }
.stripe-refund-dialog { padding:20px 24px; display:grid; gap:12px; }
.stripe-refund-dialog p { font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.stripe-refund-dialog .nbi-form-actions { margin-top:14px; flex-wrap:wrap; }
.stripe-refund-dialog .nbi-field { max-width:260px; }
.stripe-payments-panel :is(button,input,select):focus-visible { outline:2px solid var(--accent,#35708c); outline-offset:3px; }
@media(max-width:1024px) { .stripe-payment-row { grid-template-columns:minmax(0,1fr) minmax(180px,.8fr); } .stripe-payment-state { grid-column:1/-1; } }
@media(max-width:640px) {
  .stripe-sandbox-status { align-items:stretch; flex-direction:column; gap:10px; }
  .stripe-sandbox-status .nbi-button { align-self:flex-start; }
  .stripe-form-fields, .stripe-payment-row { grid-template-columns:minmax(0,1fr); }
  .stripe-payment-row { gap:12px; }
  .stripe-payment-amounts { width:100%; }
  .stripe-policy-form .nbi-field, .stripe-refund-dialog .nbi-field { max-width:none; }
  .stripe-row-actions { align-items:stretch; }
  .stripe-row-actions button { min-height:44px; }
  .stripe-notifications li { flex-direction:column; gap:4px; }
  .stripe-notifications li span { flex-shrink:1; }
  .stripe-refund-dialog { padding:16px; }
  .stripe-refund-dialog .nbi-form-actions { align-items:stretch; flex-direction:column; }
}
