.portal-shell{
  max-width:1480px;
  margin:0 auto;
  padding:16px 18px 26px;
}
.portal-shell-wide{max-width:1520px}
.portal-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:10px 0 14px;
  flex-wrap:wrap;
}
.portal-title{
  font-size:28px;
  font-weight:900;
  color:var(--navy);
  letter-spacing:.01em;
}
.portal-summary-row{display:flex;gap:10px;flex-wrap:wrap}
.summary-pill,.kpill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.12);
  color:var(--navy);
  font-weight:900;
  font-size:12px;
  padding:8px 10px;
  border-radius:999px;
}
.portal-workspace{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:14px;
  align-items:start;
}
.portal-workspace-agency{grid-template-columns:360px 1fr}
.workspace-sidebar,.workspace-main{min-width:0}
.sidebar-card,.floating-card,.record-header{
  background:rgba(255,255,255,.90);
  border:1px solid rgba(15,23,42,.10);
  border-radius:22px;
  box-shadow:var(--shadow2);
}
.sidebar-card{padding:14px;margin-bottom:14px}
.sidebar-title{
  font-weight:900;
  color:var(--navy);
  font-size:15px;
}
.sidebar-sub,.portal-note-text{color:var(--muted);font-size:13px;line-height:1.5}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.metric-grid.compact{grid-template-columns:repeat(3,1fr)}
.metric-card{
  background:linear-gradient(180deg, rgba(37,99,235,.10), rgba(255,255,255,.95));
  border:1px solid rgba(37,99,235,.12);
  border-radius:18px;
  padding:12px;
}
.metric-card.danger{
  background:linear-gradient(180deg, rgba(239,68,68,.09), rgba(255,255,255,.95));
  border-color:rgba(239,68,68,.14);
}
.metric-label{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.metric-value{font-size:28px;font-weight:900;color:var(--navy);margin-top:6px}
.searchrow{display:flex;gap:8px;align-items:center}
.searchrow input{
  flex:1;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.18);
  outline:none;
}
.chiprow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.chip{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
  font-weight:900;
  color:var(--navy);
  cursor:pointer;
  font-size:12px;
}
.chip.active,.portal-tab.active{
  background:rgba(37,99,235,.10);
  border-color:rgba(37,99,235,.20);
}
.list-card{padding-bottom:0}
.portal-doclist,.doclist{max-height:calc(100vh - 360px);overflow:auto;padding-bottom:8px}
.docitem{
  padding:12px;
  border-top:1px solid rgba(15,23,42,.07);
  cursor:pointer;
  background:transparent;
  margin:0 -14px;
  padding-left:14px;
  padding-right:14px;
}
.docitem:hover{background:rgba(37,99,235,.06)}
.docitem.active{background:rgba(37,99,235,.10)}
.docrow{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.docname{font-weight:900;color:var(--navy);font-size:13px;line-height:1.25}
.docsub{color:var(--muted);font-size:12px;margin-top:4px}
.badge{
  font-size:11px;
  font-weight:900;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.14);
  background:#fff;
  white-space:nowrap;
}
.badge.approved{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08);color:#14532d}
.badge.unapproved{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08);color:#7f1d1d}
.badge.received{border-color:rgba(59,130,246,.30);background:rgba(59,130,246,.08);color:#1e3a8a}
.record-header{
  padding:16px 18px;
  margin-bottom:14px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.record-name{font-size:24px;font-weight:900;color:var(--navy)}
.record-sub{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}
.record-badges{display:flex;gap:8px;flex-wrap:wrap}
.workspace-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.portal-tab{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,23,42,.14);
  color:var(--navy);
  font-weight:900;
  padding:9px 13px;
  border-radius:999px;
  cursor:pointer;
}
.workspace-pane.hide{display:none}
.floating-grid{display:grid;gap:14px}
.floating-grid.two-col{grid-template-columns:1.1fr .9fr}
.floating-grid.three-col{grid-template-columns:repeat(3,1fr)}
.floating-card{overflow:hidden}
.floating-card.compact-card .floating-body{padding-top:14px}
.floating-toggle{
  width:100%;
  text-align:left;
  background:linear-gradient(180deg, rgba(30,58,138,.10), rgba(255,255,255,.94));
  color:var(--navy);
  border:none;
  border-bottom:1px solid rgba(15,23,42,.08);
  font-weight:900;
  font-size:15px;
  padding:14px 16px;
  cursor:pointer;
}
.floating-card:not(.open) .floating-body{display:none}
.floating-body{padding:16px}
.floating-subcard{
  border:1px solid rgba(15,23,42,.08);
  background:rgba(248,250,252,.95);
  border-radius:18px;
  padding:14px;
  margin-top:14px;
}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.formgrid .full{grid-column:1/-1}
.formcard label,.floating-body label{display:block;font-weight:900;color:var(--navy);margin:10px 0 6px}
.floating-body input,.floating-body select,.floating-body textarea,.select{
  width:100%;
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.18);
  outline:none;
  background:#fff;
}
.floating-body textarea{min-height:140px;resize:vertical}
.signer-found-box{background:rgba(37,99,235,.05);border:1px solid rgba(37,99,235,.12);border-radius:18px;padding:14px}
.smallcaps{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.signer-found-name{font-size:18px;font-weight:900;color:var(--navy);line-height:1.3}
.timeline-mini{display:grid;gap:10px}
.timeline-mini-step{border:1px solid rgba(15,23,42,.10);border-radius:14px;padding:10px 12px;font-weight:900;color:var(--navy);background:#fff}
.timeline-mini-step.done{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.20)}
.timeline-mini-step.active{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.20)}
.info-list{display:grid;gap:10px;color:var(--navy);font-weight:800}
.progress{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.progress-emr{margin-bottom:14px}
.step{display:flex;align-items:center;gap:8px;font-weight:900;color:var(--navy);font-size:12px}
.dot{width:10px;height:10px;border-radius:999px;background:rgba(15,23,42,.18)}
.step.done .dot{background:#22c55e}
.step.active .dot{background:#2563eb}
.line{width:22px;height:2px;background:rgba(15,23,42,.12)}
.pdfmock{
  width:100%;
  min-height:420px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:#64748b;
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  font-weight:900;
  letter-spacing:.03em;
  box-shadow:var(--shadow2);
  position:relative;
  overflow:hidden;
  padding:28px;
  text-align:center;
}
.pdfmock::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,0) 40%);mix-blend-mode:overlay}
.emr-preview{min-height:520px}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.detail-box{border:1px solid rgba(15,23,42,.08);background:rgba(248,250,252,.95);border-radius:16px;padding:12px}
.detail-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.detail-value{font-size:15px;font-weight:900;color:var(--navy);line-height:1.35}
.compact-actions{display:grid;gap:10px}
.actionbar,.track-wrap{background:transparent}
.track-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.controls{display:flex;gap:8px;flex-wrap:wrap}
.track-table{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:13px}
.track-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:0 10px 6px}
.track-table td{background:#fff;padding:12px 10px;border-top:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.08)}
.track-table td:first-child{border-left:1px solid rgba(15,23,42,.08);border-radius:14px 0 0 14px}
.track-table td:last-child{border-right:1px solid rgba(15,23,42,.08);border-radius:0 14px 14px 0}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.track-row.pending td:first-child{box-shadow:inset 4px 0 0 #3b82f6}
.track-row.signed td:first-child{box-shadow:inset 4px 0 0 #22c55e}
.track-row.rejected td:first-child{box-shadow:inset 4px 0 0 #ef4444}
.smallnote{color:var(--muted);font-size:12px;font-weight:800}
.hide{display:none !important}
.w100{width:100%}
.btn-danger,.btn-muted,.btn-success{font-weight:900;padding:10px 14px;border-radius:12px;border:1px solid transparent}
.btn-danger{background:#ef4444;color:white;border-color:rgba(239,68,68,.25)}
.btn-muted{background:rgba(15,23,42,.06);color:var(--navy);border-color:rgba(15,23,42,.12)}
.btn-success{background:#2563eb;color:white;border-color:rgba(37,99,235,.25)}
.status-circle{width:10px;height:10px;border-radius:50%;display:inline-block}
.status-pending{background:#3b82f6}
.status-signed{background:#22c55e}
.status-rejected{background:#ef4444}

@media (max-width: 1180px){
  .portal-workspace,.portal-workspace-agency,.floating-grid.two-col,.floating-grid.three-col{grid-template-columns:1fr}
  .portal-doclist,.doclist{max-height:320px}
}
@media (max-width: 760px){
  .metric-grid.compact,.formgrid,.details-grid{grid-template-columns:1fr}
  .record-name{font-size:20px}
  .portal-title{font-size:24px}
  .pdfmock,.emr-preview{min-height:300px}
}


.signature-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.signature-pad{width:100%;height:220px;border:1px dashed rgba(15,23,42,.18);border-radius:18px;background:#fff;touch-action:none;display:block}
.signature-preview{min-height:90px;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:rgba(248,250,252,.95);display:flex;align-items:center;justify-content:center;padding:16px;color:var(--navy);font-size:32px;font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive;text-align:center}
.signature-preview-agency{font-size:24px}
.profile-line{margin-top:10px;font-size:13px;color:var(--muted);font-weight:800}
.signature-stamp{margin-top:14px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.3);font-size:30px;font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive}


.floating-grid.one-col{grid-template-columns:1fr;}
.signer-simple-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:18px;margin-top:14px;align-items:start;}
.signer-left-panel{display:grid;gap:14px;position:sticky;top:86px;}
.signer-right-panel{min-width:0;}
.sidebar-inline-list{padding:0;border:none;background:transparent;box-shadow:none;}
.sidebar-inline-list .portal-doclist{max-height:340px;overflow:auto;}
.signature-pad-compact{height:140px;}
.action-bar{display:flex;gap:10px;flex-wrap:wrap;}
.action-bar > *{flex:1 1 160px;}
.portal-workspace-agency .floating-grid.two-col{grid-template-columns:1.2fr 1fr;}
.portal-workspace-agency .workspace-main{min-width:0;}
.portal-workspace-agency .signer-found-box{margin-top:8px;}
@media (max-width: 1100px){.signer-simple-layout{grid-template-columns:1fr;}.signer-left-panel{position:static;}}


.hub-layout{display:grid;grid-template-columns:290px 1fr;gap:16px;align-items:start}
.hub-sidebar{display:grid;gap:14px;position:sticky;top:84px}
.hub-brand-card,.hub-nav-card,.hub-list-card,.hub-detail-card,.hub-header-card{background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.10);border-radius:22px;box-shadow:var(--shadow2)}
.hub-brand-card{padding:16px}
.hub-brand-title{font-size:22px;font-weight:900;color:var(--navy)}
.hub-brand-sub{color:var(--muted);font-size:13px;margin-top:4px}
.hub-nav-card{padding:12px;display:grid;gap:8px}
.hub-nav-section-label{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 8px 2px}
.hub-nav-btn,.provider-nav-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fff;color:var(--navy);font-weight:900;cursor:pointer;text-align:left}
.hub-nav-btn.active,.provider-nav-btn.active{background:rgba(37,99,235,.10);border-color:rgba(37,99,235,.22)}
.hub-count{min-width:28px;height:28px;border-radius:999px;background:rgba(15,23,42,.06);display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.provider-nav-list{display:grid;gap:8px}
.hub-main{min-width:0;display:grid;gap:14px}
.hub-header-card{padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.hub-main-grid{display:grid;grid-template-columns:360px 1fr;gap:14px;align-items:start}
.hub-list-card,.hub-detail-card{padding:14px}
.hub-panel-title{font-size:18px;font-weight:900;color:var(--navy)}
.hub-doclist{max-height:calc(100vh - 280px)}
.hub-pane{display:none}
.hub-pane.active{display:block}
.compact-preview{min-height:300px}
.table-clean{width:100%;border-collapse:collapse;margin-top:12px}
.table-clean th,.table-clean td{padding:10px 12px;border-bottom:1px solid rgba(15,23,42,.08);text-align:left;font-size:13px}
.table-clean th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.agency-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.agency-mini-card{border:1px solid rgba(15,23,42,.08);border-radius:18px;background:rgba(248,250,252,.95);padding:14px}
.agency-mini-title{font-size:16px;font-weight:900;color:var(--navy)}
.agency-mini-sub{font-size:13px;color:var(--muted);margin-top:4px}
.agency-mini-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.provider-inline{font-size:12px;color:var(--muted);margin-top:4px}
@media (max-width: 1180px){.hub-layout,.hub-main-grid{grid-template-columns:1fr}.hub-sidebar{position:static}.agency-card-list{grid-template-columns:1fr}}


.portal-workspace-agency-simple{grid-template-columns:280px 1fr}
.agency-leftnav .nav-card{padding-bottom:10px}
.agency-nav-list{display:grid;gap:10px;margin-top:14px}
.agency-nav-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;border-radius:16px;border:1px solid rgba(15,23,42,.12);background:#fff;color:var(--navy);font-weight:900;cursor:pointer;text-align:left}
.agency-nav-btn.active{background:rgba(37,99,235,.10);border-color:rgba(37,99,235,.22)}
.agency-main-simple .record-header{margin-bottom:12px}
.agency-form-grid{grid-template-columns:1fr 1fr}
.dx-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.dx-lookup-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:10px 12px}
.table-clean{width:100%;border-collapse:separate;border-spacing:0 8px}
.table-clean th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:0 10px 6px}
.table-clean td{background:#fff;padding:12px 10px;border-top:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.08)}
.table-clean td:first-child{border-left:1px solid rgba(15,23,42,.08);border-radius:14px 0 0 14px}
.table-clean td:last-child{border-right:1px solid rgba(15,23,42,.08);border-radius:0 14px 14px 0}
@media (max-width: 980px){.portal-workspace-agency-simple,.agency-form-grid{grid-template-columns:1fr}.dx-row{grid-template-columns:1fr}}


.agency-main-simple{display:block}
.agency-entry-card{max-width:820px}
.dx-row-stacked{position:relative;grid-template-columns:minmax(0,1fr) auto}
.dx-suggest-list{margin-top:8px;border:1px solid rgba(15,23,42,.10);border-radius:16px;background:#fff;box-shadow:var(--shadow2);max-height:260px;overflow:auto}
.dx-suggest-item{padding:10px 12px;border-top:1px solid rgba(15,23,42,.06);cursor:pointer}
.dx-suggest-item:first-child{border-top:none}
.dx-suggest-item:hover{background:rgba(37,99,235,.06)}
.dx-suggest-code{font-weight:900;color:var(--navy)}
.dx-suggest-desc{color:var(--muted);font-size:12px;margin-top:2px;line-height:1.35}
@media (min-width: 1280px){.agency-main-simple .workspace-pane{display:flex;justify-content:center}.agency-entry-card{width:min(100%,820px)}}


/* Front-end polish v11 */
#hubPaneProfile .floating-grid.two-col{grid-template-columns:.9fr 1.25fr;align-items:start}
#hubPaneProfile .floating-card:last-child .floating-body{padding-top:14px}
.signature-pad,.signature-pad-compact{width:100%;height:140px !important;min-height:140px;max-width:none;border:1px dashed rgba(15,23,42,.18);border-radius:18px;background:#fff;touch-action:none;display:block}
#drawSignatureWrap{width:100%}
.signature-preview{min-height:110px;white-space:nowrap;overflow:hidden;font-size:24px;line-height:1.05;padding:14px 18px}
#signerSignaturePreview{min-height:110px}
#typeSignatureWrap input{font-size:14px}
@media (max-width:1180px){#hubPaneProfile .floating-grid.two-col{grid-template-columns:1fr}}


.btn-mini{padding:8px 12px;font-size:12px;min-height:auto;}
.agency-document-card{margin-top:18px;}
.agency-detail-grid{margin-bottom:14px;}
.dx-lookup-btn{white-space:nowrap;}

.agency-selected-block{margin-top:22px;padding-top:18px;border-top:1px solid rgba(15,23,42,.10)}
.agency-selected-title{font-size:14px;font-weight:900;color:var(--navy);margin-bottom:12px}
.agency-entry-card .action-bar{justify-content:flex-start}

.dx-desc-wrap{margin-top:8px}.dx-desc-label{display:block;font-size:12px;color:#5f6b85;margin-bottom:4px}.dx-desc-display{width:100%;background:#f7f9fd;color:#1f3568}

.agency-sidebar-profile-grid{grid-template-columns:1fr}
.agency-main-simple .record-header{display:none}
#agencySidebarProfileCard .formgrid{margin-top:12px}

.file-upload-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.file-upload-row input[type="file"]{flex:1 1 320px;}
#previewUploadBtn{white-space:nowrap;}

.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;margin-bottom:14px}
.admin-mini-card{border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;padding:14px;box-shadow:var(--shadow1)}
.admin-mini-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.admin-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.admin-meta-grid div{background:#f8fafc;border:1px solid rgba(15,23,42,.06);border-radius:14px;padding:10px}
.admin-meta-grid b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}
.admin-meta-grid span{color:var(--navy);font-weight:700;font-size:13px;word-break:break-word}
.admin-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.quick-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:980px){.admin-meta-grid,.quick-link-grid{grid-template-columns:1fr}}

.doc-preview-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;}
.doc-preview-modal.hide{display:none;}
.doc-preview-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);}
.doc-preview-panel{position:relative;background:#fff;width:min(1100px,94vw);height:min(86vh,860px);border-radius:22px;box-shadow:0 20px 60px rgba(15,23,42,.25);display:flex;flex-direction:column;overflow:hidden;}
.doc-preview-header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid #dbe3f1;background:#f8fbff;}
.doc-preview-title{font-size:22px;font-weight:800;color:#17357a;}
.doc-preview-sub{font-size:13px;color:#64748b;}
.doc-preview-actions{display:flex;gap:10px;align-items:center;}
.doc-preview-body{flex:1;min-height:0;background:#eef3fb;}
.doc-preview-frame{width:100%;height:100%;border:0;background:#fff;}
.doc-preview-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;}
.agency-review-card{margin-top:18px;}
