/* Client surface consolidation. Scoped to upgraded client pages. */
.dsnet-client-surface-shell{background:rgba(13,18,31,.94);border:1px solid rgba(116,157,216,.34);box-shadow:0 24px 70px rgba(0,0,0,.42);min-width:0;overflow:hidden}
.dsnet-client-surface-shell .dsnet-client-nav{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.dsnet-client-surface-body{display:grid;gap:14px;min-width:0;width:100%}
.dsnet-client-surface-section{margin:0!important;padding:16px!important;min-width:0;width:100%;background:rgba(5,10,20,.64)!important;border:1px solid rgba(135,174,229,.22)!important;box-shadow:none!important}
.dsnet-client-surface-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dsnet-client-surface-head h2,.dsnet-client-surface-head h3{margin:0;color:#6bc4ff}
.dsnet-client-surface-head p{margin:6px 0 0}
.dsnet-client-actions,.dsnet-client-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.dsnet-client-filter-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;align-items:end;width:100%}
.dsnet-client-filter-form label{display:grid;gap:5px;min-width:0}
.dsnet-client-filter-form .input{width:100%;min-width:0;max-width:100%}
.dsnet-client-table-wrap{width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dsnet-client-table{width:100%;border-collapse:collapse;table-layout:fixed}
.dsnet-client-table th,.dsnet-client-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.dsnet-client-table th{color:#6bc4ff;font-size:.78rem;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}
.dsnet-client-table tr:last-child td{border-bottom:0}
.dsnet-client-table-row-link{cursor:pointer;outline:none}
.dsnet-client-table-row-link:hover,.dsnet-client-table-row-link:focus-visible{background:rgba(26,34,54,.72)}
.dsnet-client-title-id strong{display:block;color:#e6eefb}
.dsnet-client-title-id small{display:block;margin-top:3px;color:#9bb0d3}
.dsnet-client-last-updated{display:block;margin-top:3px;color:#9bb0d3;font-size:.76rem;font-weight:400}
.dsnet-client-status-text{color:#e6eefb;font-weight:700}
.dsnet-client-thumb{width:66px;height:66px;display:grid;place-items:center;border:1px solid rgba(135,174,229,.28);border-radius:3px;background:rgba(7,12,22,.72);overflow:hidden}
.dsnet-client-thumb img{width:44px;height:44px;object-fit:contain}
.dsnet-client-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px;width:100%}
.dsnet-client-meta-item{padding:12px;background:rgba(3,8,17,.62);border:1px solid rgba(135,174,229,.18);border-radius:3px;overflow-wrap:anywhere}
.dsnet-client-meta-label{display:block;margin-bottom:4px;color:#9bb0d3;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.dsnet-client-detail-lead{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:16px;align-items:start}
.dsnet-client-detail-image{aspect-ratio:1/1;width:100%;display:grid;place-items:center;background:rgba(7,12,22,.72);border:1px solid rgba(135,174,229,.22);border-radius:3px}
.dsnet-client-detail-image img{width:min(62%,120px);height:auto;object-fit:contain}
.dsnet-client-key-list{display:grid;gap:10px}
.dsnet-client-key-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;background:rgba(3,8,17,.62);border:1px solid rgba(135,174,229,.18);border-radius:3px}
.dsnet-client-key-value{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all;overflow-wrap:anywhere}
.dsnet-client-copy-feedback{min-height:1.4em;margin-top:8px;color:#b9f4d0;font-size:.85rem}
.dsnet-client-support-tabs{display:flex;gap:8px;flex-wrap:wrap}
.dsnet-client-support-tabs .btn[aria-current=page]{border-color:rgba(107,196,255,.72);background:rgba(31,68,98,.72)}
.dsnet-client-restriction{border-color:rgba(232,181,75,.72)!important}
.dsnet-client-empty{padding:18px;text-align:center;color:#9bb0d3;background:rgba(3,8,17,.42);border:1px dashed rgba(135,174,229,.28);border-radius:3px}
.dsnet-client-modal[hidden]{display:none!important}
.dsnet-client-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:flex-start;justify-content:center;width:100vw;height:100vh;height:100dvh;overflow-y:auto;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));isolation:isolate}
.dsnet-client-modal-backdrop{position:fixed;inset:0;z-index:0;background:rgba(0,0,0,.74);backdrop-filter:blur(4px)}
.dsnet-client-modal-dialog{position:relative;z-index:1;width:min(640px,100%);max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);margin:auto 0;overflow:auto;overscroll-behavior:contain;padding:20px;background:rgba(13,18,31,.99);border:1px solid rgba(116,157,216,.48);border-radius:3px;box-shadow:0 28px 90px rgba(0,0,0,.65)}
.dsnet-client-modal-dialog h2{margin:0 0 12px;color:#6bc4ff}
.dsnet-client-modal-dialog h3{margin:16px 0 6px;color:#e6eefb;font-size:1rem}
.dsnet-client-modal-dialog p,.dsnet-client-modal-dialog ul{margin:7px 0}
.dsnet-client-modal-record{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:12px 0}
.dsnet-client-modal-record div{padding:9px;background:rgba(3,8,17,.62);border:1px solid rgba(135,174,229,.18)}
.dsnet-client-modal-record dt{color:#9bb0d3;font-size:.74rem;font-weight:700;text-transform:uppercase}
.dsnet-client-modal-record dd{margin:3px 0 0}
.dsnet-client-modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px}
.dsnet-client-modal textarea{width:100%;min-height:100px;resize:vertical}
body.dsnet-client-modal-open{overflow:hidden}
@media(max-width:760px){
 .dsnet-client-surface-shell{padding:14px}
 .dsnet-client-surface-shell>.dsnet-client-nav .btn,.dsnet-client-actions .btn{flex:1 1 140px;text-align:center}
 .dsnet-client-detail-lead{grid-template-columns:1fr}
 .dsnet-client-detail-image{width:min(220px,100%)}
 .dsnet-client-table.responsive,.dsnet-client-table.responsive tbody,.dsnet-client-table.responsive tr,.dsnet-client-table.responsive td{display:block;width:100%}
 .dsnet-client-table.responsive{table-layout:auto}
 .dsnet-client-table.responsive thead{display:none}
 .dsnet-client-table.responsive tr{margin-bottom:10px;padding:12px;background:rgba(3,8,17,.62);border:1px solid rgba(135,174,229,.18);border-radius:3px}
 .dsnet-client-table.responsive td{display:grid;grid-template-columns:minmax(100px,34%) minmax(0,1fr);gap:10px;padding:7px 0;border:0}
 .dsnet-client-table.responsive td:before{content:attr(data-label);color:#6bc4ff;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
 .dsnet-client-table.responsive td[data-label="Thumbnail"]{grid-template-columns:1fr}
 .dsnet-client-table.responsive td[data-label="Thumbnail"]:before{display:none}
 .dsnet-client-table.responsive td[colspan]{display:block;text-align:center}
 .dsnet-client-table.responsive td[colspan]:before{display:none}
 .dsnet-client-key-row{grid-template-columns:1fr}
 .dsnet-client-key-row .btn{width:100%}
 .dsnet-client-modal-actions{flex-direction:column-reverse}
 .dsnet-client-modal-actions .btn{width:100%}
}
@media(max-width:420px){
 body.auth .portal-layout #content,body.auth .portal-layout .content.portal-main{padding-left:10px;padding-right:10px}
 .dsnet-client-surface-shell{padding:11px}
 .dsnet-client-surface-section{padding:12px!important}
 .dsnet-client-table.responsive td{grid-template-columns:1fr;gap:3px}
}
/* Containment only for the already-upgraded IP submissions surface. */
.dsnet-client-ip-shell,.dsnet-ip-page,.dsnet-ip-section,.dsnet-ip-record-list,.dsnet-ip-record,.dsnet-ip-intro-copy,.dsnet-ip-toolbar{max-width:100%;min-width:0}
.dsnet-ip-toolbar,.dsnet-ip-intro-actions,.dsnet-ip-record-controls{flex-wrap:wrap}
.dsnet-ip-toolbar .input,.dsnet-ip-toolbar select,.dsnet-ip-toolbar input{max-width:100%;min-width:0}
.dsnet-client-meta-grid>div{padding:12px;background:rgba(3,8,17,.62);border:1px solid rgba(135,174,229,.18);border-radius:3px;overflow-wrap:anywhere}
.dsnet-client-meta-grid>div>span{display:block;margin-bottom:4px;color:#9bb0d3;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.dsnet-client-notice{margin:12px 0;padding:12px;background:rgba(92,65,12,.24);border:1px solid rgba(232,181,75,.42);border-radius:3px}
.dsnet-client-form-stack{display:grid;gap:8px;margin-top:14px}
.dsnet-client-form-stack .input{width:100%;max-width:100%;min-width:0}

/* Billing, Support, Developed Assets, and Licence Keys presentation rules. */
.dsnet-client-heading-actions .btn,
.dsnet-client-filter-actions .btn{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  text-align:center;
  line-height:1.2;
}
.dsnet-client-filter-actions .btn{min-width:100px}
.dsnet-client-ticket-reply{display:grid;gap:12px}
.dsnet-client-ticket-reply label,
.dsnet-client-modal-field{display:grid;gap:6px}
.dsnet-client-ticket-reply textarea{width:100%;max-width:100%;min-width:0;resize:vertical}
.dsnet-client-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:760px){
  .dsnet-client-heading-actions,
  .dsnet-client-filter-actions{width:100%}
  .dsnet-client-heading-actions .btn,
  .dsnet-client-filter-actions .btn{width:100%}
}
