.billing-head{gap:16px;align-items:flex-start}.billing-head__actions{display:flex;gap:8px;flex-wrap:wrap}.billing-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;margin-bottom:16px}.billing-kv{display:grid;gap:10px;margin:0}.billing-kv>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line,#e4e8ee)}.billing-kv dt{color:var(--muted,#637083)}.billing-kv dd{margin:0;font-weight:700}.billing-note{margin:12px 0 0;color:var(--muted,#637083);font-size:.9rem;line-height:1.6}.plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-card{display:grid;gap:5px;padding:14px;border:1px solid var(--line,#e4e8ee);border-radius:14px;background:rgba(255,255,255,.6)}.plan-card strong{font-size:1.05rem}.plan-card span{font-weight:800}.plan-card small{color:var(--muted,#637083)}.billing-contract-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.billing-check{display:flex!important;align-items:center;gap:8px;padding:10px 0}.billing-check input{width:auto}.copy-field{display:flex;gap:6px;min-width:300px}.copy-field input{min-width:230px;font-size:.82rem;direction:ltr}.refund-form{display:flex;gap:6px;align-items:center}.refund-form input{width:90px}.billing-legacy{margin-top:16px}.billing-legacy>summary{cursor:pointer;font-weight:800;padding:18px}.billing-legacy[open]>summary{border-bottom:1px solid var(--line,#e4e8ee);margin-bottom:16px}.tax-warning{padding:15px 18px;border-radius:14px;background:#fff7e5;border:1px solid #eed29a;line-height:1.65;margin-bottom:16px}.tax-year{display:flex;gap:10px;align-items:end;margin-bottom:16px;padding:14px}.tax-year label{display:flex;gap:8px;align-items:center;font-weight:700}.tax-year input{width:100px}.billing-public{margin:0;background:#f3f6f9;font-family:Heebo,Arial,sans-serif;color:#15263a}.public-contract{max-width:780px;margin:0 auto;padding:28px 16px 50px}.public-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;color:#657386}.public-brand img{width:190px;max-width:50%}.public-card{background:#fff;border:1px solid #e2e8ef;border-radius:22px;padding:26px;box-shadow:0 16px 45px rgba(20,43,69,.08)}.public-card h1{margin:0 0 18px;font-size:1.7rem}.contract-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.contract-summary>div{background:#f6f8fb;padding:12px;border-radius:12px}.contract-summary span{display:block;color:#68778a;font-size:.8rem}.contract-summary strong{display:block;margin-top:4px}.contract-text{white-space:pre-wrap;line-height:1.8;padding:18px;border:1px solid #e4e9ef;border-radius:14px;background:#fbfcfd}.public-form{display:grid;gap:14px;margin-top:20px}.public-form label{display:grid;gap:6px;font-weight:700}.public-form input{padding:12px;border:1px solid #cfd7e2;border-radius:10px;font:inherit}.public-form .agree{display:flex;align-items:flex-start;font-weight:500;line-height:1.5}.public-form .agree input{width:auto;margin-top:3px}.public-primary{border:0;border-radius:12px;padding:13px 18px;background:#15395b;color:#fff;font:inherit;font-weight:800;cursor:pointer}.public-foot{margin:16px 0 0;color:#738094;font-size:.82rem}.public-notice{padding:12px;border-radius:10px;margin-top:15px}.public-notice.ok{background:#e9f7ef;color:#175c37}.public-notice.error{background:#fff0f0;color:#8b2525}.result-card{text-align:center;padding-block:44px}.result-card p{line-height:1.7;color:#5d6b7d}.result-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font-size:1.8rem;font-weight:900}.result-icon.ok{background:#e8f7ef;color:#167145}.result-icon.warn{background:#fff3df;color:#9a5b00}@media(max-width:800px){.billing-grid{grid-template-columns:1fr}.plan-cards{grid-template-columns:1fr}.billing-contract-form{grid-template-columns:1fr}.copy-field{min-width:240px}.contract-summary{grid-template-columns:1fr 1fr}.public-card{padding:18px}.billing-head__actions{width:100%}}
.provider-settings{margin-top:14px;border-top:1px solid var(--line,#e4e8ee);padding-top:10px}.provider-settings>summary{cursor:pointer;font-weight:800}.provider-form{display:grid;gap:10px;margin-top:12px}.provider-form label{display:grid;gap:5px;font-weight:700}.provider-form input{width:100%}

/* 16.3.1 — unified billing layout + redirect bridge */
.billing-head{display:flex;justify-content:space-between;min-width:0}.billing-head>div{min-width:0}.billing-head .page__title{margin-bottom:6px}.billing-head .page__sub{max-width:760px;line-height:1.55}.billing-head__actions .btn{white-space:nowrap}
.billing-subnav{display:flex;gap:8px;align-items:center;overflow-x:auto;max-width:100%;padding:6px 2px 14px;margin:-2px 0 4px;scrollbar-width:thin}.billing-subnav a{flex:0 0 auto;text-decoration:none;border:1px solid var(--line,#e4e8ee);background:var(--card,#fff);color:inherit;border-radius:999px;padding:8px 13px;font-weight:700;font-size:.9rem}.billing-subnav a:hover,.billing-subnav a:focus-visible{border-color:var(--primary,#15395b);outline:none}
.billing-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.billing-summary .summary-card{min-width:0}.billing-summary .summary-card strong{overflow-wrap:anywhere}
.billing-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}.billing-grid>*{min-width:0}.clean-panel{min-width:0;max-width:100%}.clean-panel__head{gap:12px;align-items:center}.clean-panel__head h2,.clean-panel__head h3{margin:0}.billing-provider .pill{flex:0 0 auto}
.billing-kv>div{align-items:flex-start}.billing-kv dd{max-width:68%;text-align:left;overflow-wrap:anywhere}.provider-settings{border:1px solid var(--line,#e4e8ee);border-radius:14px;padding:0;margin-top:16px;overflow:hidden}.provider-settings>summary{padding:13px 15px;background:rgba(21,57,91,.035);list-style-position:inside}.provider-settings[open]>summary{border-bottom:1px solid var(--line,#e4e8ee)}.provider-form{padding:14px;grid-template-columns:1fr 1fr}.provider-form label{min-width:0}.provider-form input{min-width:0}.provider-form .billing-check,.provider-form button{grid-column:1/-1}.provider-form button{justify-self:start}
.plan-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-card{min-width:0;background:linear-gradient(180deg,#fff,rgba(246,248,251,.9));box-shadow:0 4px 14px rgba(20,43,69,.04)}.plan-card span{font-size:1.05rem}
#new-contract,#contracts,#subscriptions,#payments,.billing-legacy{margin-top:16px;scroll-margin-top:18px}#new-contract .clean-panel__head{margin-bottom:10px}.billing-contract-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.billing-contract-form>div,.billing-contract-form>label{min-width:0}.billing-contract-form input,.billing-contract-form select{width:100%;min-width:0}.billing-contract-form small{display:block;margin-top:5px;color:var(--muted,#637083);line-height:1.35}.billing-contract-form .billing-check{align-self:center}.billing-contract-form .btn{min-height:44px}
.table-scroll{width:100%;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:12px}.table-scroll .tbl{width:100%;min-width:760px}.table-scroll th,.table-scroll td{vertical-align:middle}.copy-field{min-width:0;width:min(420px,34vw);max-width:100%}.copy-field input{min-width:0;width:100%;max-width:100%}.refund-form{min-width:150px}.filter-row{display:flex;gap:8px;flex-wrap:wrap}.filter-row input,.filter-row select{min-width:0}.inline-form{margin-top:12px}.billing-legacy{overflow:hidden}.billing-legacy>summary{background:rgba(21,57,91,.025)}
.public-payment-bridge{min-height:100vh;display:grid;align-content:center}.payment-bridge-card{max-width:560px;margin:0 auto}.public-payment-link{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;min-width:210px}.payment-spinner{width:54px;height:54px;border-radius:50%;border:5px solid #e3e9ef;border-top-color:#15395b;margin:0 auto 16px;animation:billing-spin .8s linear infinite}@keyframes billing-spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){.billing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-contract-form{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-form{grid-template-columns:1fr}.provider-form .billing-check,.provider-form button{grid-column:auto}.copy-field{width:320px}}
@media(max-width:820px){.billing-head{display:grid}.billing-head__actions{width:100%}.billing-head__actions .btn{width:100%;justify-content:center}.billing-grid{grid-template-columns:1fr}.billing-summary{grid-template-columns:1fr 1fr}.billing-contract-form{grid-template-columns:1fr}.plan-cards{grid-template-columns:1fr}.clean-panel{padding:16px}.clean-panel__head{align-items:flex-start;flex-wrap:wrap}.billing-kv>div{display:grid;gap:3px}.billing-kv dd{max-width:none;text-align:inherit}.copy-field{width:280px}.table-scroll{margin-inline:0}.public-card{border-radius:18px}.public-payment-bridge{padding-top:16px}}
@media(max-width:520px){.billing-summary{grid-template-columns:1fr}.billing-subnav{margin-inline:-2px}.clean-panel{padding:14px}.copy-field{width:240px}.public-contract{padding:16px 10px 34px}.public-brand img{width:155px}.public-card{padding:16px}.contract-summary{grid-template-columns:1fr}.public-form input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.payment-spinner{animation:none}.billing-subnav{scroll-behavior:auto}}

/* === BILLING UNIFIED UI 16.3.2 START === */

/* Scope everything to billing only */
.billing-page,
.billing-page * {
  box-sizing: border-box;
}

.billing-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.billing-page h1,
.billing-page h2,
.billing-page h3,
.billing-page p,
.billing-page small,
.billing-page span,
.billing-page td,
.billing-page th,
.billing-page dd,
.billing-page dt,
.billing-page a {
  overflow-wrap: anywhere;
  word-break: normal;
}

.billing-page .billing-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 14px;
  min-width: 0;
}

.billing-page .billing-head > div {
  min-width: 0;
}

.billing-page .billing-head .page__title {
  margin: 0 0 6px;
}

.billing-page .billing-head .page__sub {
  max-width: 760px;
  margin: 0;
  line-height: 1.65;
}

.billing-page .billing-head__actions {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}

.billing-page .billing-head__actions .btn {
  white-space: nowrap;
}

/* Clear section navigation */
.billing-page .billing-subnav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
  padding: 10px;
  margin: 0 0 18px;
  border: 1px solid var(--line, #e3e8ee);
  border-radius: 16px;
  background: var(--card, #fff);
}

.billing-page .billing-subnav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid transparent;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  color: inherit;
  white-space: nowrap;
}

.billing-page .billing-subnav a:hover,
.billing-page .billing-subnav a:focus-visible {
  background: rgba(21,57,91,.06);
  border-color: var(--line, #d7dee7);
  outline: none;
}

/* Summary */
.billing-page .billing-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.billing-page .billing-summary .summary-card {
  min-width: 0;
  padding: 16px;
  border-radius: 16px;
}

.billing-page .billing-summary .summary-card span,
.billing-page .billing-summary .summary-card small {
  display: block;
  line-height: 1.45;
}

.billing-page .billing-summary .summary-card strong {
  display: block;
  margin: 7px 0 4px;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

/* Panels */
.billing-page .clean-panel,
.billing-page .card {
  min-width: 0;
  max-width: 100%;
}

.billing-page .clean-panel {
  overflow: visible !important;
}

.billing-page .clean-panel__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.billing-page .clean-panel__head h2 {
  margin: 0;
}

.billing-page .clean-panel__head p {
  margin: 5px 0 0;
  line-height: 1.55;
}

/* Provider + plans */
.billing-page .billing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 18px;
}

.billing-page .billing-grid > * {
  min-width: 0;
}

.billing-page .billing-kv {
  display: grid;
  gap: 0;
}

.billing-page .billing-kv > div {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid var(--line, #e4e8ee);
}

.billing-page .billing-kv dd {
  margin: 0;
  max-width: none;
  text-align: inherit;
  font-weight: 700;
}

.billing-page .billing-note {
  line-height: 1.65;
}

.billing-page .provider-settings {
  margin-top: 16px;
  border: 1px solid var(--line, #e1e7ee);
  border-radius: 14px;
  overflow: hidden;
}

.billing-page .provider-settings > summary {
  padding: 13px 15px;
  cursor: pointer;
  font-weight: 800;
  background: rgba(21,57,91,.035);
}

.billing-page .provider-settings[open] > summary {
  border-bottom: 1px solid var(--line, #e1e7ee);
}

.billing-page .provider-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  padding: 16px;
  margin: 0;
}

.billing-page .provider-form label {
  min-width: 0;
}

.billing-page .provider-form .billing-check,
.billing-page .provider-form button {
  grid-column: 1 / -1;
}

.billing-page .provider-form button {
  justify-self: start;
}

.billing-page .plan-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}

.billing-page .plan-card {
  min-width: 0;
  padding: 16px;
  border-radius: 15px;
  background: var(--card, #fff);
}

.billing-page .plan-card strong,
.billing-page .plan-card span,
.billing-page .plan-card small {
  display: block;
}

.billing-page .plan-card span {
  margin: 8px 0 5px;
}

/* Unified fields */
.billing-page input:not([type="checkbox"]):not([type="radio"]),
.billing-page select,
.billing-page textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line, #cfd7e2);
  border-radius: 10px;
  background: var(--card, #fff);
  color: inherit;
  font: inherit;
}

.billing-page textarea {
  min-height: 100px;
  resize: vertical;
}

.billing-page input:focus,
.billing-page select:focus,
.billing-page textarea:focus {
  outline: 2px solid color-mix(in srgb, var(--primary,#15395b) 22%, transparent);
  outline-offset: 1px;
  border-color: var(--primary,#15395b);
}

.billing-page label {
  line-height: 1.45;
}

.billing-page .billing-check {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
}

.billing-page .billing-check input {
  flex: 0 0 auto;
  width: auto !important;
  margin-top: 3px;
}

/* Contract creator — no more forced 4-column squeeze */
.billing-page #new-contract,
.billing-page #contracts,
.billing-page #subscriptions,
.billing-page #payments,
.billing-page .billing-legacy {
  margin-top: 18px;
  scroll-margin-top: 20px;
}

.billing-page .billing-contract-form {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 14px 16px !important;
  align-items: start !important;
}

.billing-page .billing-contract-form > div,
.billing-page .billing-contract-form > label {
  min-width: 0;
}

.billing-page .billing-contract-form small {
  display: block;
  margin-top: 5px;
  line-height: 1.45;
}

.billing-page .billing-contract-form .billing-check {
  align-self: center;
}

.billing-page .billing-contract-form > div:last-child {
  display: flex;
  align-items: end;
  height: 100%;
}

.billing-page .billing-contract-form > div:last-child .btn {
  width: 100%;
  min-height: 44px;
}

/* Tables */
.billing-page .table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  border-radius: 12px;
  -webkit-overflow-scrolling: touch;
}

.billing-page .table-scroll .tbl {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
  table-layout: auto;
}

.billing-page .table-scroll th,
.billing-page .table-scroll td {
  max-width: 340px;
  vertical-align: top;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.billing-page .tbl__muted {
  margin-top: 4px;
  line-height: 1.4;
}

/* Contract link */
.billing-page .copy-field {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 7px;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100%;
}

.billing-page .copy-field input {
  min-width: 0 !important;
  width: 100% !important;
  direction: ltr;
  text-align: left;
  text-overflow: ellipsis;
}

.billing-page .copy-field .btn {
  white-space: nowrap;
}

/* Refund/action forms */
.billing-page .refund-form {
  display: grid;
  grid-template-columns: minmax(80px,110px) auto;
  gap: 7px;
  min-width: 0;
  align-items: center;
}

.billing-page .refund-form input {
  width: 100% !important;
}

.billing-page form {
  max-width: 100%;
}

.billing-page .btn {
  max-width: 100%;
}

/* Legacy section */
.billing-page .billing-legacy {
  overflow: hidden !important;
}

.billing-page .billing-legacy > summary {
  cursor: pointer;
  padding: 16px 18px;
}

/* Mid-size screens: tables become readable cards */
@media (max-width: 1100px) {
  .billing-page .billing-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .billing-page .billing-grid {
    grid-template-columns: 1fr;
  }

  .billing-page .plan-cards {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .billing-page .table-scroll {
    overflow: visible;
  }

  .billing-page .table-scroll table,
  .billing-page .table-scroll tbody,
  .billing-page .table-scroll tr,
  .billing-page .table-scroll td {
    display: block;
    width: 100%;
  }

  .billing-page .table-scroll thead {
    display: none;
  }

  .billing-page .table-scroll tr {
    margin: 0 0 12px;
    padding: 5px 14px;
    border: 1px solid var(--line,#e1e7ee);
    border-radius: 14px;
    background: var(--card,#fff);
  }

  .billing-page .table-scroll td {
    display: grid;
    grid-template-columns: 130px minmax(0,1fr);
    gap: 12px;
    align-items: start;
    max-width: none;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--line,#edf0f4);
  }

  .billing-page .table-scroll td:last-child {
    border-bottom: 0;
  }

  .billing-page .table-scroll td::before {
    font-weight: 800;
    color: var(--muted,#637083);
  }

  .billing-page .table-scroll td[colspan] {
    display: block;
    text-align: center;
    padding: 18px 4px !important;
  }

  .billing-page .table-scroll td[colspan]::before {
    display: none;
  }

  #contracts td:nth-child(1)::before { content:"מוסד"; }
  #contracts td:nth-child(2)::before { content:"מסלול"; }
  #contracts td:nth-child(3)::before { content:"מחזור"; }
  #contracts td:nth-child(4)::before { content:"מחיר"; }
  #contracts td:nth-child(5)::before { content:"מצב"; }
  #contracts td:nth-child(6)::before { content:"קישור"; }
  #contracts td:nth-child(7)::before { content:"פעולות"; }

  #subscriptions td:nth-child(1)::before { content:"מוסד"; }
  #subscriptions td:nth-child(2)::before { content:"תוכנית"; }
  #subscriptions td:nth-child(3)::before { content:"מחיר"; }
  #subscriptions td:nth-child(4)::before { content:"מצב"; }
  #subscriptions td:nth-child(5)::before { content:"חיוב הבא"; }
  #subscriptions td:nth-child(6)::before { content:"חיוב אחרון"; }
  #subscriptions td:nth-child(7)::before { content:"פעולות"; }

  #payments td:nth-child(1)::before { content:"מוסד"; }
  #payments td:nth-child(2)::before { content:"תאריך"; }
  #payments td:nth-child(3)::before { content:"סכום"; }
  #payments td:nth-child(4)::before { content:"מצב"; }
  #payments td:nth-child(5)::before { content:"עסקה"; }
  #payments td:nth-child(6)::before { content:"מסמך"; }
  #payments td:nth-child(7)::before { content:"זיכוי"; }

  .billing-page .copy-field {
    max-width: 100%;
  }
}

@media (max-width: 760px) {
  .billing-page .billing-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .billing-page .billing-head__actions {
    width: 100%;
  }

  .billing-page .billing-head__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .billing-page .billing-subnav {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 8px;
  }

  .billing-page .billing-summary {
    grid-template-columns: 1fr;
  }

  .billing-page .plan-cards {
    grid-template-columns: 1fr;
  }

  .billing-page .provider-form,
  .billing-page .billing-contract-form {
    grid-template-columns: 1fr !important;
  }

  .billing-page .provider-form .billing-check,
  .billing-page .provider-form button {
    grid-column: auto;
  }

  .billing-page .billing-kv > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .billing-page .table-scroll td {
    grid-template-columns: 105px minmax(0,1fr);
    gap: 10px;
  }

  .billing-page .copy-field {
    grid-template-columns: minmax(0,1fr);
  }

  .billing-page .copy-field .btn {
    width: 100%;
  }

  .billing-page .refund-form {
    grid-template-columns: 1fr;
  }

  .billing-page .refund-form .btn {
    width: 100%;
  }
}

@media (max-width: 430px) {
  .billing-page .table-scroll tr {
    padding-inline: 11px;
  }

  .billing-page .table-scroll td {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .billing-page .table-scroll td::before {
    font-size: .82rem;
  }

  .billing-page .billing-subnav a {
    font-size: .85rem;
  }
}

/* === BILLING UNIFIED UI 16.3.2 END === */
