/* ════════════════════════════════════════════════════════════════════════
   subscriptions.css — brush for the Subscriptions panel (zViews/zAccount/
   zRM/zUI.Subscriptions.zolo). Opt in with zMeta.zBrush: [subscriptions].
   Same card-grid recipe as team.css/appsregistry.css.
   ════════════════════════════════════════════════════════════════════════ */

.zc-subs {
    position:      relative;
    width:         100%;
    margin:        0 0 2.5rem;
    padding:       2rem 2.25rem 2.5rem;
    background:    var(--zc-surface);
    border:        1px solid rgba(255, 255, 255, 0.10);
    border-radius: calc(var(--zc-radius) + 6px);
    box-shadow:    var(--zc-shadow-hover, 0 24px 56px rgba(0, 0, 0, 0.4));
    overflow:      hidden;
    isolation:     isolate;
}
.zc-subs::before {
    content:        '';
    position:       absolute;
    inset:          -40% -10% auto -10%;
    height:         420px;
    z-index:        0;
    pointer-events: none;
    background:
        radial-gradient(50% 60% at 28% 25%, rgba(124, 58, 237, 0.22), transparent 68%),
        radial-gradient(45% 55% at 78% 10%, rgba(79, 70, 229, 0.14), transparent 70%);
}
.zc-subs > * { position: relative; z-index: 1; }

.zc-subs-header {
    display:         flex;
    align-items:     flex-start;
    justify-content: space-between;
    gap:             1rem;
    flex-wrap:       wrap;
}
.zc-subs-header h2 {
    margin:          0;
    font-size:       clamp(1.4rem, 2.6vw, 1.8rem);
    font-weight:     800;
    letter-spacing:  -0.02em;
    background:      var(--zc-text-grad);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color:           transparent;
}
.zc-subs-sub {
    margin:    0.35rem 0 0;
    color:     var(--text-gray);
    font-size: 0.9rem;
}
.zc-subs-total {
    display:        flex;
    flex-direction: column;
    align-items:    center;
    gap:            0.1rem;
    padding:        0.6rem 1rem;
    background:     rgba(255, 255, 255, 0.035);
    border:         1px solid rgba(255, 255, 255, 0.07);
    border-radius:  14px;
    min-width:      110px;
}
.zc-subs-total > *:first-child {
    font-size:   1.2rem;
    font-weight: 800;
    color:       var(--text-light);
}
.zc-subs-total > *:last-child {
    font-size:      0.65rem;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color:          var(--text-gray);
}

/* ── Filters — the collapsed-by-default band the Filters toggle reveals.
      Search bar (zLive dialog, unboxed .zDialog-live) + one-click Clear on
      one row, boxed lightly so it reads as a tool drawer, not content. ── */
.zc-subs-filters {
    display:       flex;
    flex-wrap:     wrap;
    align-items:   flex-end;
    gap:           0.75rem;
    margin-top:    1rem;
    padding:       0.75rem 1rem;
    background:    rgba(255, 255, 255, 0.03);
    border:        1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
}
.zc-subs-searchbar { flex: 1 1 320px; }
.zc-subs-searchbar .zDialog-live { max-width: 480px; }
.zc-subs-searchbar input[type="search"] { width: 100%; }

/* ── Toolbar — filter controls + zAdmin write dialogs ── */
.zc-subs-toolbar {
    display:     flex;
    align-items: center;
    flex-wrap:   wrap;
    gap:         0.6rem;
    margin-top:  1.5rem;
}
.zc-subs-toolbar-admin {
    display:     flex;
    align-items: center;
    gap:         0.6rem;
    margin-left: auto;
    padding-left: 0.6rem;
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.zc-subs-filterstate {
    margin-top: 0.75rem;
}
.zc-subs-filterstate p {
    margin:    0;
    color:     var(--text-gray);
    font-size: 0.78rem;
}

.zc-subs-list {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap:                   1rem;
    margin-top:            1.75rem;
}
.zc-subs-card {
    display:        flex;
    flex-direction: column;
    gap:            0.6rem;
    padding:        1.1rem 1.25rem;
    background:     rgba(255, 255, 255, 0.03);
    border:         1px solid rgba(255, 255, 255, 0.08);
    border-radius:  14px;
    transition:     border-color 0.2s ease, transform 0.2s ease;
}
.zc-subs-card:hover {
    border-color: rgba(196, 181, 253, 0.4);
    transform:    translateY(-2px);
}
.zc-subs-card-header {
    display:         flex;
    align-items:     baseline;
    justify-content: space-between;
    gap:             0.5rem;
}
.zc-subs-card-owner {
    margin:      0;
    color:       var(--text-light);
    font-size:   1rem;
    font-weight: 700;
}
.zc-subs-card-plan {
    margin:         0;
    color:          var(--text-light);
    font-size:      0.68rem;
    font-weight:    700;
    letter-spacing: 0.06em;
    padding:        0.2rem 0.6rem;
    border-radius:  980px;
    background:     rgba(124, 58, 237, 0.18);
    border:         1px solid rgba(196, 181, 253, 0.3);
    white-space:    nowrap;
}
.zc-subs-card-meta {
    margin:    0;
    color:     var(--text-gray);
    font-size: 0.78rem;
}
.zc-subs-card-fields {
    display:               grid;
    grid-template-columns: repeat(3, 1fr);
    gap:                   0.5rem;
    margin-top:            0.25rem;
}
.zc-subs-card-field {
    display:        flex;
    flex-direction: column;
    gap:            0.1rem;
    padding:        0.5rem 0.6rem;
    background:     rgba(255, 255, 255, 0.03);
    border-radius:  10px;
}
.zc-subs-card-field > *:first-child {
    color:          var(--text-gray);
    font-size:      0.62rem;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.zc-subs-card-field > *:last-child {
    color:       var(--text-light);
    font-size:   0.85rem;
    font-weight: 700;
}
.zc-subs-card-actions {
    margin-top: 0.4rem;
}
.zc-subs-card-since {
    margin:    0;
    color:     var(--text-gray);
    font-size: 0.72rem;
}

/* ── Edit drawer — opens under the toolbar when a roster row's Edit button
      stamps %subs_sel. Pre-filled dialogs live in .zc-subs-drawer-actions. ── */
.zc-subs-drawer {
    margin-top:    1rem;
    padding:       1rem 1.25rem 1.25rem;
    background:    rgba(124, 58, 237, 0.07);
    border:        1px solid rgba(196, 181, 253, 0.28);
    border-radius: 14px;
}
.zc-subs-drawer-header {
    display:         flex;
    align-items:     baseline;
    justify-content: space-between;
    gap:             0.75rem;
    flex-wrap:       wrap;
}
.zc-subs-drawer-header h3 {
    margin:      0;
    color:       var(--text-light);
    font-size:   1.05rem;
    font-weight: 800;
}
.zc-subs-drawer-who {
    margin:    0;
    color:     var(--text-gray);
    font-size: 0.8rem;
    flex:      1 1 auto;
}
.zc-subs-drawer-close { margin-left: auto; }
.zc-subs-drawer-current {
    display:    flex;
    flex-wrap:  wrap;
    gap:        0.4rem 1.5rem;
    margin-top: 0.6rem;
}
.zc-subs-drawer-current p {
    margin:    0;
    color:     var(--text-gray);
    font-size: 0.82rem;
}
.zc-subs-drawer-actions {
    display:     flex;
    align-items: center;
    gap:         0.6rem;
    flex-wrap:   wrap;
    margin-top:  0.85rem;
}

/* ── Roster row action (zTable row_action) — keep the Edit column tight ── */
.zc-subs-results .zTable-action-col { width: 1%; white-space: nowrap; }

/* ── Unprovisioned — registrar-only, no hosting grant ── */
.zc-subs-empty {
    display:        flex;
    flex-direction: column;
    align-items:    flex-start;
    gap:            0.6rem;
    margin-top:     0.25rem;
}
.zc-subs-empty-badge {
    margin:         0;
    color:          var(--text-gray);
    font-size:      0.7rem;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding:        0.25rem 0.65rem;
    border-radius:  980px;
    background:     rgba(255, 255, 255, 0.04);
    border:         1px dashed rgba(255, 255, 255, 0.15);
}
.zc-subs-revoke-btn button {
    background:   rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(239, 68, 68, 0.45) !important;
    color:        #fca5a5 !important;
}
.zc-subs-grant-btn {
    background: linear-gradient(135deg, #7c3aed, #4f46e5) !important;
}

@media (max-width: 640px) {
    .zc-subs             { padding: 1.5rem 1.25rem 2rem; }
    .zc-subs-list         { grid-template-columns: 1fr; }
    .zc-subs-card-fields  { grid-template-columns: repeat(3, 1fr); }
    .zc-subs-toolbar-admin { margin-left: 0; padding-left: 0; border-left: none; }
}
