/* V9.5.4 — clean drag-only dashboards, compact client services, visual fixes */
.otp-layout-toolbar,.otp-layout-resetbar,.otp-widget-controls,.otp-resize-grip,.v302-drag-handle{display:none!important;visibility:hidden!important;pointer-events:none!important}
[data-v95-size]{grid-column:unset}
.v954-drag-card{position:relative;resize:none!important;height:auto;min-height:0}
.v954-drag-head{cursor:grab;user-select:none}
.v954-drag-head:active{cursor:grabbing}
.v954-dragging{opacity:.48!important;transform:scale(.992);transition:none!important}
.v954-drag-over{outline:2px dashed rgba(17,24,39,.18);outline-offset:3px}

/* Client dashboard: no legacy sizing residue and no empty vertical space. */
.v95-client-dashboard-grid[data-v95-zone="client-dashboard"]{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start!important;grid-auto-rows:auto!important;margin-top:14px}
.v95-client-dashboard-grid[data-v95-zone="client-dashboard"]>.v40-panel{align-self:start!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0;overflow:hidden}
.v95-client-dashboard-grid .v40-panel>header{padding:16px 18px 10px!important;padding-right:18px!important}
.v95-client-dashboard-grid .v40-panel>header h3{font-size:18px}
.v95-client-services{grid-column:span 9!important}
.v95-client-latest-invoice{grid-column:span 3!important}
.v95-dashboard-card{grid-column:span 4!important}

/* Exactly three service rows visible. Extra subscriptions stay inside this scroll viewport. */
.v95-client-services .v95-client-service-scroll{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:0!important}
.v95-client-services .v95-client-service-scroll.has-scroll{height:204px!important;min-height:204px!important;max-height:204px!important;overflow-y:scroll!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:2px!important}
.v95-client-services .v401-service-stack{height:auto!important;min-height:0!important;padding:0 12px 8px!important}
.v95-client-services .v95-service-row{box-sizing:border-box;height:68px!important;min-height:68px!important;max-height:68px!important;padding:10px 8px!important}
.v95-client-services .v95-service-row>div:nth-child(2){overflow:hidden}
.v95-client-services .v95-service-row strong,.v95-client-services .v95-service-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v95-client-services .v95-client-service-scroll.has-scroll::-webkit-scrollbar{width:7px}
.v95-client-services .v95-client-service-scroll.has-scroll::-webkit-scrollbar-track{background:#f2f4f7;border-radius:999px}
.v95-client-services .v95-client-service-scroll.has-scroll::-webkit-scrollbar-thumb{background:#c1c8d2;border-radius:999px;border:1px solid #f2f4f7}
.v95-client-services .v95-client-service-scroll.has-scroll{scrollbar-width:thin;scrollbar-color:#c1c8d2 #f2f4f7}

/* Compact last invoice. */
.v95-client-latest-invoice>header{padding:15px 15px 7px!important}
.v95-client-latest-invoice .v95-invoice-compact-card{margin:0 11px 11px!important;padding:10px!important;border-radius:12px!important;min-height:0!important}
.v95-client-latest-invoice .v95-invoice-compact-top{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center}
.v95-client-latest-invoice .v95-invoice-icon{width:30px!important;height:30px!important;border-radius:9px!important}
.v95-client-latest-invoice .v95-invoice-compact-top strong{font-size:16px!important}
.v95-client-latest-invoice .v95-invoice-compact-meta{margin-top:6px!important;padding-top:6px!important;font-size:9px}
.v95-client-latest-invoice .v95-invoice-compact-actions{margin-top:8px!important;display:grid;grid-template-columns:1fr 1fr;gap:5px!important}
.v95-client-latest-invoice .v95-invoice-compact-actions a{display:flex;align-items:center;justify-content:center;min-height:29px!important;border:1px solid #e4e7ec;border-radius:8px;text-decoration:none;font-size:9px!important;font-weight:800;color:#344054;background:#fff}
.v95-client-latest-invoice .v95-invoice-compact-actions a.pay{background:#111827;color:#fff;border-color:#111827}

/* Fix cards that had markup but no matching CSS in V9.5.x. */
.v954-quick-actions{display:grid;gap:7px;padding:0 12px 12px!important}
.v954-quick-actions>a{display:grid!important;grid-template-columns:38px minmax(0,1fr) 10px;gap:10px;align-items:center;padding:10px!important;border-radius:14px;background:var(--v40-soft,#f7f8fa);color:var(--v40-text,#1d2939);text-decoration:none}
.v954-quick-actions>a>span{width:36px;height:36px;border-radius:11px;background:var(--v40-card-solid,#fff);color:var(--v40-accent,#1677ff);display:grid;place-items:center}
.v954-quick-actions>a>div{min-width:0}
.v954-quick-actions strong{display:block;font-size:11px!important;line-height:1.25}
.v954-quick-actions small{display:block;margin-top:2px;font-size:9px!important;line-height:1.3;color:var(--v40-muted,#98a2b3)}
.v954-quick-actions>a>i{font-size:9px;color:var(--v40-muted,#98a2b3)}

.v954-notification-list{display:grid;padding:0 12px 12px}
.v954-notification-list>a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:9px 4px;border-top:1px solid var(--v40-line,#eaecf0);color:var(--v40-text,#1d2939);text-decoration:none}
.v954-notification-list>a:first-child{border-top:0}
.v954-notification-list>a>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;color:#3866c2}
.v954-notification-list>a>div{min-width:0;display:grid;gap:2px}
.v954-notification-list strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v954-notification-list small{font-size:8px;color:var(--v40-muted,#98a2b3)}

/* Business/Admin cards stay at their native span classes; remove old resize styles. */
.v302-widget-grid>.v302-widget,.v302-widget-grid>[data-widget-id]{height:auto!important;min-height:0!important;max-height:none!important;resize:none!important}

@media(max-width:1100px){.v95-client-services{grid-column:span 8!important}.v95-client-latest-invoice{grid-column:span 4!important}}
@media(max-width:720px){
  .v954-drag-head{cursor:default}.v95-client-services,.v95-client-latest-invoice,.v95-dashboard-card{grid-column:1/-1!important}
  .v95-client-services .v95-client-service-scroll.has-scroll{height:204px!important;min-height:204px!important;max-height:204px!important}
  .v95-client-latest-invoice .v95-invoice-compact-actions{grid-template-columns:1fr}
}

/* V9.9.23 remote expiry annotation shared by service pages. */
.otp23-expiry-source{display:block;font-size:10px;font-weight:600;color:var(--v40-muted,#667085);margin-top:4px;line-height:1.35}
