/* Premium tenant subscription operations */
.subscription-ops-page { display:grid; gap:14px; padding:25px 28px 34px; }
.subscription-ops-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.subscription-ops-header h1 { margin:4px 0 3px; color:#11263f; font-size:1.53rem; font-weight:840; letter-spacing:-.045em; }
.subscription-ops-header p { margin:0; color:#71829a; font-size:.65rem; }
.subscription-ops-header .btn { min-height:38px; display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border-radius:10px; font-size:.56rem; font-weight:750; background:#fff; }
.subscription-ops-page .member-eyebrow { color:#2e64df; font-size:.48rem; font-weight:820; letter-spacing:.105em; }

.subscription-pulse { position:relative; display:grid; grid-template-columns:minmax(335px,.9fr) minmax(430px,1.08fr) minmax(245px,.62fr); overflow:hidden; border:1px solid rgba(255,255,255,.07); border-radius:18px; color:#fff; background:radial-gradient(circle at 5% 0%,rgba(38,207,188,.18),transparent 33%),radial-gradient(circle at 100% 100%,rgba(109,77,232,.23),transparent 38%),linear-gradient(125deg,#081d38,#102d57 57%,#183f76); box-shadow:0 18px 38px rgba(23,48,88,.14); }
.subscription-pulse::before { content:""; position:absolute; inset:0; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px); background-size:41px 41px; mask-image:linear-gradient(90deg,#000,transparent 76%); }
.subscription-pulse-primary { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; padding:23px 25px; border-right:1px solid rgba(255,255,255,.1); }
.subscription-pulse-primary .member-live-label { align-self:flex-start; margin-bottom:18px; color:#d9fdf8; border-color:rgba(65,222,191,.2); background:rgba(27,190,154,.13); }
.subscription-pulse-primary > .member-eyebrow,.subscription-pulse-note .member-eyebrow { color:#50d9d2; }
.subscription-pulse-primary > strong { display:flex; align-items:baseline; gap:7px; margin:5px 0 2px; color:#fff; font-size:1.78rem; font-weight:840; letter-spacing:-.055em; }
.subscription-pulse-primary > strong small { color:#6ce4d7; font-size:.55rem; font-weight:720; letter-spacing:0; }
.subscription-pulse-primary h2 { margin:2px 0 5px; color:#eaf2ff; font-size:.72rem; font-weight:730; }
.subscription-pulse-primary p { max-width:405px; margin:0; color:#95adcc; font-size:.55rem; line-height:1.52; }
.subscription-pulse-signals { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:13px; }
.subscription-pulse-signals article { display:grid; grid-template-columns:35px 1fr; align-items:center; gap:9px; min-width:0; padding:13px; border-right:1px solid rgba(255,255,255,.09); border-bottom:1px solid rgba(255,255,255,.09); }
.subscription-pulse-signals article:nth-child(2n) { border-right:0; }
.subscription-pulse-signals article:nth-child(n+3) { border-bottom:0; }
.subscription-pulse-signals article > span { width:35px; height:35px; display:grid; place-items:center; border-radius:10px; color:#82abff; background:rgba(80,133,240,.14); font-size:.7rem; }
.subscription-pulse-signals article > span.is-green { color:#4cdda8; background:rgba(48,196,143,.13); }
.subscription-pulse-signals article > span.is-violet { color:#b5a1ff; background:rgba(130,101,233,.14); }
.subscription-pulse-signals article > span.is-amber { color:#ffd177; background:rgba(239,174,57,.13); }
.subscription-pulse-signals article > div { min-width:0; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:center; }
.subscription-pulse-signals small { color:#8fa8c9; font-size:.51rem; }
.subscription-pulse-signals strong { grid-row:1/3; grid-column:2; color:#fff; font-size:.82rem; letter-spacing:-.03em; white-space:nowrap; }
.subscription-pulse-signals em { overflow:hidden; color:#b0c2da; font-size:.49rem; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.subscription-pulse-note { position:relative; z-index:1; display:flex; align-items:center; gap:12px; padding:20px; border-left:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); }
.subscription-pulse-note > span { width:42px; height:42px; display:grid; flex:0 0 42px; place-items:center; border:1px solid rgba(255,255,255,.1); border-radius:12px; color:#52d9d2; background:rgba(255,255,255,.055); }
.subscription-pulse-note > span.has-attention { color:#ffd178; background:rgba(239,174,57,.1); }
.subscription-pulse-note h2 { margin:6px 0 4px; color:#fff; font-size:.81rem; font-weight:770; }
.subscription-pulse-note p { margin:0; color:#93aac9; font-size:.53rem; line-height:1.5; }

.subscription-directory { overflow:hidden; border:1px solid #dfe7f1; border-radius:15px; background:#fff; box-shadow:0 8px 25px rgba(28,48,74,.055); }
.subscription-directory-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px 15px; }
.subscription-directory-heading h2 { margin:4px 0 2px; color:#172b46; font-size:.94rem; font-weight:790; letter-spacing:-.023em; }
.subscription-directory-heading p { margin:0; color:#7c8b9f; font-size:.57rem; }
.subscription-result-count { display:flex; align-items:baseline; gap:5px; padding:8px 11px; border:1px solid #dce5ef; border-radius:10px; background:#fafcff; }
.subscription-result-count strong { color:#285eda; font-size:.82rem; font-weight:820; }
.subscription-result-count span { color:#8391a3; font-size:.48rem; }
.subscription-toolbar { display:grid; grid-template-columns:minmax(320px,1fr) repeat(3,minmax(145px,.38fr)) 38px; gap:8px; margin:0 18px 15px; padding:8px; border:1px solid #e0e7ef; border-radius:10px; background:#f8fafd; }
.subscription-toolbar label { position:relative; display:flex; align-items:center; margin:0; }
.subscription-toolbar label > i { position:absolute; z-index:2; left:10px; color:#8ba0b8; font-size:.56rem; pointer-events:none; }
.subscription-toolbar .form-control,.subscription-toolbar .form-select { min-height:35px; padding:7px 9px 7px 29px; border-color:#dce5ef; border-radius:8px; color:#50647b; background-color:#fff; font-size:.54rem; box-shadow:none; }
.subscription-toolbar .form-control:focus,.subscription-toolbar .form-select:focus { border-color:#91aff5; box-shadow:0 0 0 3px rgba(49,105,245,.08); }
.subscription-search input { padding-right:50px!important; }
.subscription-search kbd { position:absolute; right:9px; padding:2px 5px; border:1px solid #d9e2ec; border-radius:5px; color:#8191a6; background:#f7f9fc; font-family:inherit; font-size:.43rem; }
.subscription-toolbar > button { width:38px; height:35px; display:grid; place-items:center; border:1px solid #dce5ef; border-radius:8px; color:#74869c; background:#fff; font-size:.55rem; }
.subscription-toolbar > button span { display:none; }
.subscription-toolbar > button:hover { border-color:#b8caf7; color:#3169f5; background:#f5f8ff; }

.subscription-table-wrap { border-top:1px solid #e8edf4; }
.subscription-table { min-width:1120px; }
.subscription-table thead th { padding:11px 13px; border-color:#e5ebf2; color:#76859a; background:#f6f8fb; font-size:.49rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; white-space:nowrap; }
.subscription-table thead th:first-child,.subscription-table tbody td:first-child { padding-left:20px; }
.subscription-table thead th:last-child,.subscription-table tbody td:last-child { padding-right:20px; }
.subscription-table tbody tr { box-shadow:inset 3px 0 0 transparent; transition:background .15s ease; }
.subscription-table tbody tr:hover { background:#fbfcff; }
.subscription-table tbody tr.has-risk { box-shadow:inset 3px 0 0 #e6535b; }
.subscription-table tbody tr.has-warning { box-shadow:inset 3px 0 0 #eda222; }
.subscription-table tbody tr.is-healthy { box-shadow:inset 3px 0 0 #25ad7a; }
.subscription-table tbody td { padding:12px 13px; border-color:#edf1f6; color:#53647a; font-size:.56rem; vertical-align:middle; }
.subscription-company-cell { min-width:220px; display:flex; align-items:center; gap:10px; }
.subscription-company-cell > span { width:37px; height:37px; display:grid; flex:0 0 37px; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,#3975ff,#6255dc); font-size:.51rem; font-weight:820; box-shadow:0 7px 15px rgba(55,94,188,.17); }
.subscription-company-cell > div,.subscription-amount-cell { min-width:0; display:grid; gap:2px; }
.subscription-company-cell strong { overflow:hidden; max-width:230px; color:#2d435d; font-size:.61rem; font-weight:760; text-overflow:ellipsis; white-space:nowrap; }
.subscription-company-cell small { display:flex; align-items:center; gap:5px; color:#8492a4; font-size:.47rem; }
.subscription-company-cell small i { color:#6f91d5; }
.subscription-amount-cell { min-width:120px; }
.subscription-amount-cell strong { color:#193957; font-size:.7rem; font-weight:820; letter-spacing:-.02em; white-space:nowrap; }
.subscription-amount-cell small { color:#8a98aa; font-size:.45rem; }
.subscription-date-cell { min-width:160px; display:flex; align-items:center; gap:8px; }
.subscription-date-cell > span { width:31px; height:31px; display:grid; flex:0 0 31px; place-items:center; border-radius:8px; color:#376ddf; background:#ebf2ff; font-size:.52rem; }
.subscription-date-cell > span.is-overdue { color:#c74a52; background:#fff0f1; }
.subscription-date-cell > span.is-soon { color:#ad7318; background:#fff6e5; }
.subscription-date-cell > div { display:grid; gap:2px; }
.subscription-date-cell strong { color:#40566f; font-size:.55rem; white-space:nowrap; }
.subscription-date-cell small { color:#8a98aa; font-size:.44rem; }
.subscription-date-cell > span.is-overdue + div small { color:#c64c54; }
.subscription-date-cell > span.is-soon + div small { color:#aa731c; }
.subscription-grace-note { display:inline-flex; align-items:center; gap:4px; margin:5px 0 0 39px; padding:3px 5px; border-radius:5px; color:#a66c12; background:#fff6e5; font-size:.4rem; white-space:nowrap; }
.subscription-badge { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border:1px solid #dce3eb; border-radius:99px; color:#758396; background:#f5f7f9; font-size:.46rem; font-weight:740; white-space:nowrap; }
.subscription-badge.is-good { color:#14845c; border-color:#bce9d4; background:#eefaf4; }
.subscription-badge.is-warning { color:#a96f15; border-color:#f3daaa; background:#fff8e9; }
.subscription-badge.is-danger { color:#c34049; border-color:#f7c9cc; background:#fff1f2; }
.subscription-badge.is-info { color:#2d67cc; border-color:#caddfb; background:#eff5ff; }
.subscription-badge.payment > i { width:5px; height:5px; border-radius:50%; background:#77889b; }
.subscription-badge.payment.is-good > i { background:#23ad79; box-shadow:0 0 0 3px rgba(35,173,121,.1); }
.subscription-badge.payment.is-warning > i { background:#eca329; }
.subscription-badge.payment.is-danger > i { background:#e5535b; }
.subscription-badge.payment.is-info > i { background:#3774e8; }
.subscription-manage-action { min-width:112px; display:inline-grid; grid-template-columns:28px 1fr auto; align-items:center; gap:7px; padding:5px 7px; border:1px solid #d4e0f2; border-radius:9px; color:#47627f; background:#fff; text-align:left; text-decoration:none; }
.subscription-manage-action > span { width:28px; height:28px; display:grid; place-items:center; border-radius:7px; color:#3169f5; background:#eaf1ff; font-size:.5rem; }
.subscription-manage-action strong { font-size:.5rem; font-weight:740; }
.subscription-manage-action > i { color:#9aabc0; font-size:.45rem; }
.subscription-manage-action:hover { color:#245bd8; border-color:#afc6f7; background:#f7f9ff; }

.subscription-filter-empty,.subscription-empty { min-height:190px; display:flex; align-items:center; justify-content:center; gap:16px; margin:0 18px 18px; padding:28px; border:1px dashed #d6e0ec; border-radius:12px; background:radial-gradient(circle at 5% 50%,rgba(49,105,245,.05),transparent 31%),#fafcff; }
.subscription-filter-empty > span,.subscription-empty > span { width:55px; height:55px; display:grid; flex:0 0 55px; place-items:center; border-radius:15px; color:#3169f5; background:#eaf1ff; font-size:.98rem; }
.subscription-filter-empty h3,.subscription-empty h3 { margin:3px 0; color:#2c425d; font-size:.76rem; }
.subscription-filter-empty p,.subscription-empty p { margin:0; color:#8391a4; font-size:.54rem; }
.subscription-filter-empty .btn,.subscription-empty .btn { margin-left:12px; border-radius:8px; font-size:.53rem; font-weight:720; }
.subscription-directory-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 18px; border-top:1px solid #e7edf4; color:#8391a3; background:#fbfcfe; font-size:.48rem; }
.subscription-directory-footer span { display:inline-flex; align-items:center; gap:6px; }
.subscription-directory-footer i { color:#6286ce; }
.subscription-directory-footer strong { color:#3a526e; }

@media (max-width:1299.98px) {
  .subscription-pulse { grid-template-columns:minmax(320px,.88fr) minmax(405px,1.06fr) 225px; }
  .subscription-toolbar { grid-template-columns:minmax(280px,1fr) repeat(2,minmax(150px,.45fr)) 38px; }
  .subscription-toolbar label:nth-of-type(4) { grid-column:2/3; grid-row:2; }
}
@media (max-width:991.98px) {
  .subscription-pulse { grid-template-columns:minmax(330px,.9fr) minmax(390px,1.1fr); }
  .subscription-pulse-note { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.1); border-left:0; }
  .subscription-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .subscription-search { grid-column:1/-1; }
  .subscription-toolbar label:nth-of-type(4) { grid-column:auto; grid-row:auto; }
  .subscription-toolbar > button { width:100%; }
  .subscription-toolbar > button span { display:inline; margin-left:6px; }
}
@media (max-width:767.98px) {
  .subscription-ops-page { padding:18px 14px 28px; }
  .subscription-ops-header { align-items:flex-start; flex-direction:column; }
  .subscription-pulse { grid-template-columns:1fr; }
  .subscription-pulse-primary { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
  .subscription-pulse-note { grid-column:auto; }
  .subscription-directory-heading,.subscription-directory-footer { align-items:flex-start; flex-direction:column; }
}
@media (max-width:575.98px) {
  .subscription-ops-header .btn { width:100%; justify-content:center; }
  .subscription-pulse-signals,.subscription-toolbar { grid-template-columns:1fr; }
  .subscription-pulse-signals article { border-right:0; border-bottom:1px solid rgba(255,255,255,.09); }
  .subscription-pulse-signals article:nth-child(3) { border-bottom:1px solid rgba(255,255,255,.09); }
  .subscription-search { grid-column:auto; }
  .subscription-filter-empty,.subscription-empty { align-items:flex-start; flex-direction:column; }
  .subscription-filter-empty .btn,.subscription-empty .btn { width:100%; margin-left:0; }
}
