:root{
  --nrn-sidebar:248px;
  --nrn-topbar:72px;
  --nrn-navy:#062f4b;
  --nrn-navy-2:#041f35;
  --nrn-navy-3:#0a4262;
  --nrn-cyan:#08b7d8;
  --nrn-teal:#16c6ba;
  --nrn-blue:#1579e6;
  --nrn-bg:#f4f8fb;
  --nrn-card:#fff;
  --nrn-text:#183247;
  --nrn-muted:#6f8394;
  --nrn-border:#dfe8ef;
  --nrn-soft:#eef5f9;
  --nrn-success:#17a673;
  --nrn-danger:#e25353;
  --nrn-warning:#d99223;
  --nrn-purple:#7c5ce7;
  --nrn-shadow:0 10px 28px rgba(28,74,105,.08);
  --nrn-shadow-soft:0 3px 12px rgba(28,74,105,.06);
  --nrn-radius:13px;
  --nrn-radius-sm:9px;
  --nrn-content:1380px;
}
*{box-sizing:border-box}
html{background:var(--nrn-bg)}
body.pf-page{
  margin:0!important;
  min-height:100vh;
  padding-left:var(--nrn-sidebar);
  padding-top:var(--nrn-topbar);
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(circle at 90% -10%,rgba(8,183,216,.08),transparent 30rem),
    var(--nrn-bg)!important;
  color:var(--nrn-text)!important;
  font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif!important;
  font-size:14px;
  line-height:1.5;
}
a{color:#0d72c7}
.nrn-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* sidebar */
.nrn-sidebar{
  position:fixed;inset:0 auto 0 0;width:var(--nrn-sidebar);z-index:1200;
  display:flex;flex-direction:column;overflow:hidden;
  color:#d9ecf7;
  background:
    linear-gradient(180deg,rgba(4,31,53,.98),rgba(5,49,77,.99)),
    var(--nrn-navy);
  box-shadow:7px 0 24px rgba(2,24,40,.12);
}
.nrn-sidebar:after{
  content:"";position:absolute;left:-40px;right:-80px;bottom:15px;height:170px;
  background:
    radial-gradient(ellipse at 40% 100%,rgba(17,198,186,.28),transparent 48%),
    repeating-radial-gradient(ellipse at 60% 140%,transparent 0 12px,rgba(8,183,216,.11) 13px 14px,transparent 15px 23px);
  opacity:.7;pointer-events:none;transform:rotate(-5deg)
}
.nrn-side-brand{
  position:relative;z-index:2;display:flex;align-items:center;gap:10px;
  min-height:92px;padding:17px 17px 14px;color:white!important;text-decoration:none!important;
  border-bottom:1px solid rgba(255,255,255,.07)
}
.nrn-side-emblem{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))}
.nrn-side-brand-text{display:grid;line-height:1.04}
.nrn-side-brand-text strong{font-size:1.04rem;color:#fff}
.nrn-side-brand-text span{font-size:.88rem;color:#3ad9e5;font-weight:700}
.nrn-side-nav{position:relative;z-index:2;padding:16px 12px;overflow-y:auto}
.nrn-nav-label{
  margin:4px 11px 8px;color:#7898ad;font-size:.68rem;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase
}
.nrn-module-label{margin-top:18px}
.nrn-nav-item{
  display:flex;align-items:center;gap:11px;min-height:44px;margin:3px 0;padding:10px 12px;
  border-radius:8px;color:#d6e8f3!important;text-decoration:none!important;font-weight:600;
  transition:.16s ease
}
.nrn-nav-item svg{width:19px;height:19px;fill:currentColor;opacity:.92;flex:0 0 auto}
.nrn-nav-item:hover{background:rgba(255,255,255,.07);color:#fff!important}
.nrn-nav-item.is-active{
  color:#fff!important;background:linear-gradient(90deg,#087ac6,#09a3cf);
  box-shadow:0 6px 14px rgba(1,125,190,.22),inset 3px 0 0 #35e0df
}
.nrn-nav-item.nrn-rtx.is-active{background:linear-gradient(90deg,#5c43c5,#7f55df);box-shadow:0 6px 14px rgba(88,64,189,.25)}
.nrn-sidebar-art{position:absolute;right:-44px;bottom:-35px;width:190px;height:190px;opacity:.13;z-index:1}
.nrn-sidebar-art img{width:100%;height:100%;object-fit:contain}

/* topbar */
.nrn-topbar{
  position:fixed;top:0;left:var(--nrn-sidebar);right:0;height:var(--nrn-topbar);z-index:1100;
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--nrn-border);box-shadow:0 3px 12px rgba(32,76,105,.04)
}
.nrn-topbar-left,.nrn-topbar-right{display:flex;align-items:center;gap:13px}
.nrn-global-search{
  width:min(440px,36vw);height:40px;display:flex;align-items:center;gap:9px;padding:0 12px;
  border:1px solid #dbe6ee;border-radius:10px;background:#f7fafc
}
.nrn-global-search svg{width:19px;height:19px;fill:#668294}
.nrn-global-search input{
  width:100%!important;border:0!important;background:transparent!important;padding:0!important;
  box-shadow:none!important;outline:0!important;color:#29465b!important
}
.nrn-security-chip{
  display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #dcf0eb;border-radius:999px;
  background:#f5fcfa;color:#497168;font-size:.72rem;font-weight:700
}
.nrn-security-dot{width:7px;height:7px;border-radius:50%;background:#20b984;box-shadow:0 0 0 3px rgba(32,185,132,.12)}
.nrn-user-menu{position:relative}
.nrn-user-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:5px 7px;border-radius:10px}
.nrn-user-menu summary::-webkit-details-marker{display:none}
.nrn-user-menu[open] summary,.nrn-user-menu summary:hover{background:#f3f7fa}
.nrn-avatar{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:800;
  background:linear-gradient(145deg,#21a9df,#3e74cc)
}
.nrn-user-meta{display:grid;line-height:1.18;min-width:120px}
.nrn-user-meta strong{max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:#203c51}
.nrn-user-meta small{max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;color:#7990a2}
.nrn-caret{color:#7890a0}
.nrn-user-popover{
  position:absolute;right:0;top:calc(100% + 10px);width:230px;padding:10px;background:white;
  border:1px solid var(--nrn-border);border-radius:11px;box-shadow:var(--nrn-shadow)
}
.nrn-popover-head{display:grid;padding:6px 8px 10px;border-bottom:1px solid var(--nrn-border);margin-bottom:6px}
.nrn-popover-head span{font-size:.7rem;color:var(--nrn-muted)}
.nrn-user-popover a,.nrn-user-popover button{
  display:block;width:100%;padding:9px 10px!important;margin:1px 0!important;border:0!important;border-radius:7px!important;
  background:transparent!important;text-align:left;color:var(--nrn-text)!important;font:inherit;cursor:pointer;text-decoration:none!important
}
.nrn-user-popover a:hover,.nrn-user-popover button:hover{background:#f2f6f9!important}
.nrn-mobile-menu{display:none}
.nrn-mobile-backdrop{display:none}

/* content framework */
body.pf-page>.container,body.pf-page>main:not(.nrn-login-shell){
  width:min(var(--nrn-content),calc(100% - 42px))!important;max-width:var(--nrn-content)!important;
  margin:24px auto 34px!important;padding:0!important
}
body.pf-page .card,body.pf-page details{
  background:var(--nrn-card)!important;border:1px solid var(--nrn-border)!important;border-radius:var(--nrn-radius)!important;
  box-shadow:var(--nrn-shadow-soft)!important
}
body.pf-page .card{padding:20px!important;margin-bottom:16px!important}
body.pf-page details{margin-bottom:13px!important;overflow:hidden}
body.pf-page details>summary{
  padding:15px 18px!important;background:#fbfdff;color:#18374d;border-bottom:1px solid transparent;
  font-size:.94rem!important;font-weight:800!important
}
body.pf-page details[open]>summary{border-bottom-color:var(--nrn-border);background:#f8fbfd}
body.pf-page .section-body{padding:18px!important}
body.pf-page h1,body.pf-page h2,body.pf-page h3{color:#17364d!important;letter-spacing:-.02em}
body.pf-page h1{font-size:1.65rem!important;margin:.25rem 0 .4rem!important}
body.pf-page h2{font-size:1.05rem!important}
body.pf-page h3{font-size:.93rem!important}
body.pf-page p{margin:.55rem 0}
body.pf-page .muted,body.pf-page .help,body.pf-page .description{color:var(--nrn-muted)!important}
body.pf-page .grid{gap:12px!important}
body.pf-page .field{
  padding:10px 11px!important;border:1px solid #e8eff4!important;border-radius:9px!important;background:#fbfdfe!important
}
body.pf-page .label{color:#718697!important;font-size:.72rem!important;font-weight:700!important;text-transform:none}
body.pf-page .value{color:#203b4f!important;font-weight:650!important}
body.pf-page .entry{padding:11px!important;border:1px solid #e8eff4!important;border-radius:9px!important;background:#fbfdfe!important;margin-bottom:8px!important}

/* tables */
body.pf-page .table-wrap{overflow-x:auto;border:1px solid var(--nrn-border);border-radius:10px}
body.pf-page table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:white}
body.pf-page th{
  padding:10px 11px!important;background:#f3f7fa!important;color:#496274!important;
  font-size:.72rem!important;font-weight:800!important;border-bottom:1px solid var(--nrn-border)!important;white-space:nowrap
}
body.pf-page td{
  padding:10px 11px!important;border-bottom:1px solid #ecf1f5!important;color:#314b5e!important;font-size:.8rem
}
body.pf-page tbody tr:last-child td{border-bottom:0!important}
body.pf-page tbody tr:hover td{background:#fafdff!important}
body.pf-page td a{font-weight:700;text-decoration:none}

/* forms/buttons */
body.pf-page input,body.pf-page select,body.pf-page textarea{
  border:1px solid #ccdbe5!important;border-radius:8px!important;background:#fff!important;color:#29475c!important;
  padding:9px 10px!important;outline:none!important;box-shadow:none!important
}
body.pf-page input:focus,body.pf-page select:focus,body.pf-page textarea:focus{
  border-color:#26a8df!important;box-shadow:0 0 0 3px rgba(38,168,223,.1)!important
}
body.pf-page button,body.pf-page .button,.nrn-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:8px 12px!important;
  border:1px solid #cfdce5!important;border-radius:8px!important;background:#fff!important;color:#25445a!important;
  text-decoration:none!important;font-weight:700!important;font-size:.78rem!important;cursor:pointer
}
body.pf-page .button:hover,body.pf-page button:hover{background:#f4f8fb!important;border-color:#b9cbd8!important}
body.pf-page button[type=submit],body.pf-page .primary,.nrn-btn-primary{
  background:linear-gradient(180deg,#1686ea,#096bce)!important;border-color:#0c73d3!important;color:#fff!important;
  box-shadow:0 4px 10px rgba(15,113,207,.18)
}
body.pf-page .search{align-items:center!important}
body.pf-page .search input[type=search]{min-width:320px!important}
body.pf-page .actions{gap:8px!important}
body.pf-page .pill{
  display:inline-flex!important;padding:4px 8px!important;border:1px solid #dbe9ef!important;border-radius:999px!important;
  background:#f0f8fa!important;color:#347082!important;font-size:.7rem!important;font-weight:750
}
body.pf-page .archived,body.pf-page .voided{color:#b34141!important}

/* generic first page card becomes a page header */
body.pf-page .container>.card:first-child{
  position:relative;overflow:hidden;background:linear-gradient(135deg,#ffffff,#f9fcfe)!important;
}
body.pf-page .container>.card:first-child:before{
  content:"";position:absolute;right:-70px;top:-80px;width:190px;height:190px;border-radius:50%;
  background:radial-gradient(circle,rgba(22,198,186,.11),transparent 68%);pointer-events:none
}
body.pf-page .topbar{align-items:flex-start!important}
body.pf-page .pagination{padding-top:12px;color:var(--nrn-muted);font-size:.77rem}

/* badges and new presentation helpers */
.nrn-page-kicker{color:#0a8db3;font-size:.69rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.nrn-page-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.nrn-page-subtitle{color:var(--nrn-muted);font-size:.82rem}
.nrn-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:800}
.nrn-badge.active{background:#e7f8f0;color:#16835e}
.nrn-badge.archived{background:#fff4e0;color:#9c6815}
.nrn-badge.voided{background:#feecec;color:#b14242}
.nrn-action-link{display:inline-flex;padding:5px 8px;border-radius:6px;background:#edf6ff;color:#0869c5!important;text-decoration:none!important;font-size:.72rem;font-weight:800}
.nrn-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.nrn-profile-main{display:flex;align-items:center;gap:14px}
.nrn-profile-avatar{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#0b77ca;font-size:1.35rem;font-weight:800;
  background:linear-gradient(145deg,#e7f5ff,#dceef9);border:1px solid #cfe4f1
}
.nrn-profile-name{margin:0!important}
.nrn-profile-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--nrn-muted);font-size:.76rem}
.nrn-tabs{display:flex;gap:22px;margin-top:16px;padding-top:2px;border-bottom:1px solid var(--nrn-border);overflow-x:auto}
.nrn-tabs span{padding:9px 0;color:#668091;font-size:.75rem;font-weight:750;white-space:nowrap}
.nrn-tabs span.is-active{color:#0b76d0;border-bottom:2px solid #0b76d0}
.nrn-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nrn-stat-card{
  min-height:108px;padding:15px;border:1px solid var(--nrn-border);border-radius:11px;background:#fff;box-shadow:var(--nrn-shadow-soft)
}
.nrn-stat-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eaf7fd;color:#0879b6;font-weight:900}
.nrn-stat-value{display:block;margin-top:7px;color:#173b52;font-size:1.35rem;font-weight:850}
.nrn-stat-label{color:#758a99;font-size:.7rem;font-weight:700}
.nrn-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.nrn-quick-link{padding:14px;border:1px solid var(--nrn-border);border-radius:10px;text-align:center;text-decoration:none!important;color:#2b5269!important;background:#fbfdfe;font-weight:750}
.nrn-quick-link:hover{border-color:#bcd9e9;background:#f3faff}

/* edit hub */
body.pf-page .section-card{
  border:1px solid var(--nrn-border)!important;border-radius:11px!important;background:#fff!important;
  box-shadow:var(--nrn-shadow-soft)!important;transition:transform .14s ease,box-shadow .14s ease
}
body.pf-page .section-card:hover{transform:translateY(-1px);box-shadow:var(--nrn-shadow)!important}
body.pf-page .section-card.basic{border-left:4px solid #0e7dd5!important}
body.pf-page .status.has-data{color:#16805d!important;background:#e8f8f1!important;border-radius:999px!important;padding:3px 7px!important}

/* dashboard */
.nrn-dashboard{width:min(var(--nrn-content),calc(100% - 42px));margin:24px auto 36px}
.nrn-dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.nrn-dash-head h1{margin:0!important}
.nrn-dash-head p{margin:3px 0 0;color:var(--nrn-muted)}
.nrn-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:16px;margin-top:16px}
.nrn-panel{background:white;border:1px solid var(--nrn-border);border-radius:12px;box-shadow:var(--nrn-shadow-soft);padding:18px}
.nrn-panel h2{margin:0 0 14px!important}
.nrn-registry-card{
  min-height:245px;position:relative;overflow:hidden;padding:24px;border-radius:13px;color:white;
  background:linear-gradient(135deg,#062f4b,#074e70 65%,#08789a);box-shadow:var(--nrn-shadow)
}
.nrn-registry-card:after{
  content:"";position:absolute;right:-30px;bottom:-50px;width:240px;height:240px;background:url("/static/clinical/nrn-emblem.png") center/contain no-repeat;opacity:.12
}
.nrn-registry-card .nrn-page-kicker{color:#64e4e7}
.nrn-registry-card h2{color:white!important;font-size:1.5rem!important}
.nrn-registry-card p{max-width:520px;color:#bcd5e3}
.nrn-registry-actions{position:relative;z-index:2;display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.nrn-registry-actions a{
  display:inline-flex;padding:9px 12px;border-radius:8px;text-decoration:none!important;color:#fff!important;font-weight:750;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16)
}
.nrn-registry-actions a.primary{background:linear-gradient(180deg,#16c6ba,#0ca5ac);border-color:#22cfca}
.nrn-access-list{display:grid;gap:10px}
.nrn-access-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--nrn-border);border-radius:9px;background:#fbfdfe}
.nrn-access-row span{color:var(--nrn-muted);font-size:.74rem}
.nrn-access-row strong{font-size:.79rem;color:#294a5f}

/* footer */
.nrn-footer{
  margin-top:auto;min-height:72px;padding:17px 24px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;
  background:#052844;color:#b8cedc;border-top:1px solid rgba(255,255,255,.05)
}
.nrn-footer-brand{display:flex;align-items:center;gap:9px}
.nrn-footer-brand img{width:37px;height:37px;object-fit:contain}
.nrn-footer-brand div{display:grid;line-height:1.05}
.nrn-footer-brand strong{color:#fff;font-size:.82rem}
.nrn-footer-brand span{color:#35cee0;font-size:.74rem;font-weight:700}
.nrn-footer-links{display:flex;gap:17px;color:#7798ad;font-size:.69rem}
.nrn-footer-copy{font-size:.67rem;color:#6f91a6}

/* login */
body.nrn-login-page{margin:0;min-height:100vh;font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif;background:#eef5f9;display:grid;place-items:center;padding:20px}
.nrn-login-shell{
  width:min(1040px,100%);min-height:640px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;
  border-radius:19px;background:white;box-shadow:0 26px 70px rgba(7,43,68,.22)
}
.nrn-login-visual{
  position:relative;overflow:hidden;padding:42px;color:white;background:linear-gradient(145deg,#052844,#06496c 65%,#087596)
}
.nrn-login-visual:before{
  content:"";position:absolute;inset:auto -110px -135px 5%;height:360px;border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(26,215,209,.35),transparent 56%),
             repeating-radial-gradient(ellipse at 50% 100%,transparent 0 15px,rgba(37,182,221,.14) 16px 17px,transparent 18px 29px);
  transform:rotate(-8deg)
}
.nrn-login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2}
.nrn-login-brand img{width:70px;height:70px;object-fit:contain}
.nrn-login-brand div{display:grid;line-height:1.05}
.nrn-login-brand strong{font-size:1.3rem}
.nrn-login-brand span{color:#41dce4;font-size:1.02rem;font-weight:750}
.nrn-login-message{position:relative;z-index:2;margin-top:58px}
.nrn-login-message h1{font-size:2rem;margin:0 0 8px}
.nrn-login-message p{max-width:370px;color:#c5dce7}
.nrn-login-benefits{position:relative;z-index:2;display:grid;gap:12px;margin-top:30px}
.nrn-login-benefit{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.05)}
.nrn-login-benefit b{display:block;font-size:.78rem}
.nrn-login-benefit small{color:#a8c5d4}
.nrn-login-form-pane{padding:58px;display:flex;flex-direction:column;justify-content:center}
.nrn-login-form-pane h2{margin:0;font-size:1.8rem;color:#17364d}
.nrn-login-form-pane>p{color:#7b8f9e}
.nrn-login-form-pane label{display:block;margin:15px 0 6px;color:#486276;font-size:.77rem;font-weight:800}
.nrn-login-form-pane input{width:100%;padding:11px 12px;border:1px solid #cad9e4;border-radius:8px;font:inherit}
.nrn-login-form-pane button{width:100%;margin-top:22px;padding:11px;border:0;border-radius:8px;color:white;font-weight:800;cursor:pointer;background:linear-gradient(90deg,#14bdb5,#1378df)}
.nrn-login-note{margin-top:14px;color:#8396a4;font-size:.71rem;text-align:center}

/* access denied */
.nrn-error-page{width:min(620px,calc(100% - 36px));margin:60px auto;padding:30px;text-align:center;background:white;border:1px solid var(--nrn-border);border-radius:14px;box-shadow:var(--nrn-shadow)}
.nrn-error-page img{width:82px;height:82px;object-fit:contain}

/* responsive */
@media(max-width:1120px){
  :root{--nrn-sidebar:220px}
  .nrn-user-meta{display:none}.nrn-security-chip{display:none}
  .nrn-stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  body.pf-page{padding-left:0}
  .nrn-sidebar{width:260px;transform:translateX(-102%);transition:transform .2s ease}
  body.nrn-menu-open .nrn-sidebar{transform:translateX(0)}
  .nrn-topbar{left:0;padding:0 14px}
  .nrn-mobile-menu{
    width:38px;height:38px;display:grid;place-content:center;gap:4px;border:1px solid var(--nrn-border);border-radius:8px;background:#fff
  }
  .nrn-mobile-menu span:not(.nrn-sr-only){display:block;width:18px;height:2px;background:#31566d}
  .nrn-mobile-backdrop{position:fixed;inset:0;z-index:1150;background:rgba(2,25,42,.35)}
  body.nrn-menu-open .nrn-mobile-backdrop{display:block}
  .nrn-global-search{width:min(500px,58vw)}
  .nrn-dashboard-grid{grid-template-columns:1fr}
  .nrn-footer{grid-template-columns:1fr;gap:9px}
  .nrn-footer-links{display:none}
}
@media(max-width:680px){
  body.pf-page>.container,body.pf-page>main:not(.nrn-login-shell),.nrn-dashboard{width:calc(100% - 20px)!important;margin-top:14px!important}
  .nrn-global-search{display:none}
  .nrn-topbar{height:62px}.nrn-topbar-right{margin-left:auto}
  body.pf-page{padding-top:62px}
  .nrn-stat-grid{grid-template-columns:1fr 1fr}
  .nrn-page-title-row{align-items:flex-start}
  body.pf-page .search{width:100%}
  body.pf-page .search input[type=search]{min-width:0!important;width:100%!important}
  .nrn-login-shell{grid-template-columns:1fr;min-height:auto}
  .nrn-login-visual{padding:28px}.nrn-login-message{margin-top:32px}.nrn-login-benefits{display:none}
  .nrn-login-form-pane{padding:32px 26px}
}
@media(max-width:470px){
  .nrn-stat-grid{grid-template-columns:1fr}
  .nrn-profile-main{align-items:flex-start}
  .nrn-profile-avatar{width:48px;height:48px}
  .nrn-footer-copy{font-size:.62rem}
}



/* ---------------------------------------------------------------
   v2.1 interaction fixes
   --------------------------------------------------------------- */

/* The global <details> card rules must never clip the topbar user menu. */
body.pf-page .nrn-user-menu {
  position: relative !important;
  overflow: visible !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.pf-page .nrn-user-menu > summary {
  padding: 5px 7px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
}

body.pf-page .nrn-user-menu[open] > summary {
  background: #f3f7fa !important;
}

body.pf-page .nrn-user-menu .nrn-user-popover {
  display: block !important;
  overflow: visible !important;
  z-index: 4000 !important;
}

body.pf-page .nrn-user-menu .nrn-user-popover form {
  margin: 0 !important;
}

body.pf-page .nrn-user-menu .nrn-user-popover button {
  min-height: 0 !important;
  box-shadow: none !important;
}

.nrn-admin-link {
  color: #086bc1 !important;
  font-weight: 800 !important;
}

/* Patient-profile navigation is now a real tab navigation. */
.nrn-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 0;
  color: #668091 !important;
  border-bottom: 2px solid transparent;
  text-decoration: none !important;
  font-size: .75rem;
  font-weight: 750;
  white-space: nowrap;
}

.nrn-tabs a:hover {
  color: #0b76d0 !important;
}

.nrn-tabs a.is-active {
  color: #0b76d0 !important;
  border-bottom-color: #0b76d0;
}

.nrn-tabs span {
  padding: 0;
  border: 0;
}

@media (max-width: 680px) {
  .nrn-tabs {
    gap: 18px;
    padding-bottom: 2px;
  }

  .nrn-tabs a {
    flex: 0 0 auto;
  }
}


/* ===============================================================
   v2.2 - Visit Detail hero / summary optimization
   =============================================================== */
.nrn-visit-hero{position:relative;overflow:hidden;margin-bottom:16px;padding:18px 20px 0;border:1px solid var(--nrn-border);border-radius:var(--nrn-radius);background:radial-gradient(circle at 100% 0%,rgba(22,198,186,.10),transparent 260px),linear-gradient(135deg,#fff,#fbfdff);box-shadow:var(--nrn-shadow-soft)}
.nrn-visit-hero::after{content:"";position:absolute;right:-62px;top:-72px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(8,183,216,.08),transparent 70%);pointer-events:none}
.nrn-visit-breadcrumb{position:relative;z-index:1;display:flex;align-items:center;gap:7px;margin-bottom:14px;color:#8093a2;font-size:.72rem;font-weight:650}
.nrn-visit-breadcrumb a{color:#5c778a!important;text-decoration:none!important}
.nrn-visit-breadcrumb a:hover{color:#0877c9!important}
.nrn-visit-hero-main{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:22px}
.nrn-visit-identity{display:flex;align-items:center;gap:13px;min-width:0}
.nrn-visit-icon{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;color:#087ec6;background:linear-gradient(145deg,#e6f8fb,#def0fa);border:1px solid #cce5ef}
.nrn-visit-icon svg{width:25px;height:25px;fill:currentColor}
.nrn-visit-identity h1{margin:1px 0 3px!important;font-size:1.55rem!important}
.nrn-visit-patient-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#718596;font-size:.78rem}
.nrn-visit-patient-line a{color:#176fae!important;font-weight:800;text-decoration:none!important}
.nrn-visit-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.nrn-visit-summary-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.25fr 1.1fr 1.6fr .85fr;gap:0;margin-top:17px;border:1px solid #e3ecf2;border-radius:10px;background:rgba(255,255,255,.82);overflow:hidden}
.nrn-visit-summary-item{min-width:0;padding:12px 14px;border-right:1px solid #e8eef3}
.nrn-visit-summary-item:last-child{border-right:0}
.nrn-visit-summary-label{display:block;margin-bottom:4px;color:#8496a5;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.nrn-visit-summary-item strong{display:block;overflow:hidden;color:#29485c;font-size:.8rem;text-overflow:ellipsis}
.nrn-visit-summary-categories .pill{margin:0 4px 2px 0!important}
.nrn-text-success{color:#16835e!important}
.nrn-text-danger{color:#b94242!important}
.nrn-visit-section-nav{position:relative;z-index:1;display:flex;align-items:center;gap:23px;margin-top:13px;overflow-x:auto;border-top:1px solid #e6edf2;scrollbar-width:thin}
.nrn-visit-section-nav a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:3px 0 1px;color:#637c8f!important;border-bottom:2px solid transparent;text-decoration:none!important;font-size:.73rem;font-weight:800}
.nrn-visit-section-nav a:hover{color:#0875c6!important;border-bottom-color:#20a4df}
body.pf-page details[id]{scroll-margin-top:calc(var(--nrn-topbar) + 18px)}
@media(max-width:1180px){.nrn-visit-summary-grid{grid-template-columns:repeat(3,1fr)}.nrn-visit-summary-item{border-bottom:1px solid #e8eef3}.nrn-visit-summary-item:nth-child(3n){border-right:0}}
@media(max-width:820px){.nrn-visit-hero-main{align-items:flex-start;flex-direction:column}.nrn-visit-actions{width:100%;justify-content:flex-start}.nrn-visit-summary-grid{grid-template-columns:1fr 1fr}.nrn-visit-summary-item,.nrn-visit-summary-item:nth-child(3n){border-right:1px solid #e8eef3}.nrn-visit-summary-item:nth-child(2n){border-right:0}}
@media(max-width:520px){.nrn-visit-hero{padding:15px 14px 0}.nrn-visit-icon{width:44px;height:44px}.nrn-visit-identity h1{font-size:1.3rem!important}.nrn-visit-summary-grid{grid-template-columns:1fr}.nrn-visit-summary-item,.nrn-visit-summary-item:nth-child(2n),.nrn-visit-summary-item:nth-child(3n){border-right:0}.nrn-visit-actions .button{flex:1 1 auto}}


/* ===============================================================
   v2.3 - Clinical Edit Hub redesign
   =============================================================== */
body.pf-page .messages{margin-bottom:16px}
body.pf-page .message{background:#fff;border:1px solid var(--nrn-border);border-radius:10px;padding:11px 14px;box-shadow:var(--nrn-shadow-soft)}

.nrn-edit-hero{
  position:relative;overflow:hidden;margin-bottom:18px;padding:18px 20px 0;
  border:1px solid var(--nrn-border);border-radius:var(--nrn-radius);
  background:radial-gradient(circle at 100% 0%,rgba(22,198,186,.10),transparent 260px),linear-gradient(135deg,#fff,#fbfdff);
  box-shadow:var(--nrn-shadow-soft)
}
.nrn-edit-hero:after{
  content:"";position:absolute;right:-72px;top:-82px;width:210px;height:210px;border-radius:50%;
  background:radial-gradient(circle,rgba(8,183,216,.08),transparent 68%);pointer-events:none
}
.nrn-edit-breadcrumb{
  position:relative;z-index:1;display:flex;align-items:center;gap:7px;margin-bottom:14px;
  color:#8093a2;font-size:.72rem;font-weight:650
}
.nrn-edit-breadcrumb a{color:#5c778a!important;text-decoration:none!important}
.nrn-edit-breadcrumb a:hover{color:#0877c9!important}
.nrn-edit-hero-main{
  position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap
}
.nrn-edit-identity{display:flex;align-items:center;gap:14px;min-width:0}
.nrn-edit-icon{
  width:56px;height:56px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;color:#087ec6;
  background:linear-gradient(145deg,#e6f8fb,#def0fa);border:1px solid #cce5ef
}
.nrn-edit-icon svg{width:27px;height:27px;fill:currentColor}
.nrn-edit-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#718596;font-size:.78rem}
.nrn-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.nrn-edit-summary-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-top:18px}
.nrn-edit-summary-card{
  min-height:158px;padding:16px;border:1px solid #e3edf3;border-radius:12px;background:rgba(255,255,255,.84);
  box-shadow:var(--nrn-shadow-soft)
}
.nrn-edit-summary-card.emphasis{border-left:4px solid #0d7fd7}
.nrn-edit-summary-card h3{margin:2px 0 7px!important;font-size:1rem!important}
.nrn-edit-summary-card p{margin:0;color:var(--nrn-muted)}
.nrn-edit-summary-label{display:block;margin-bottom:3px;color:#8496a5;font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.nrn-edit-chip-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.nrn-edit-group-nav{
  position:relative;z-index:1;display:flex;align-items:center;gap:22px;margin-top:12px;overflow-x:auto;border-top:1px solid #e6edf2;
  scrollbar-width:thin
}
.nrn-edit-group-nav a{
  flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:3px 0 1px;color:#637c8f!important;
  border-bottom:2px solid transparent;text-decoration:none!important;font-size:.73rem;font-weight:800
}
.nrn-edit-group-nav a:hover{color:#0875c6!important;border-bottom-color:#20a4df}
.nrn-edit-group{margin-bottom:20px}
.nrn-edit-group-head{margin:0 0 12px}
.nrn-edit-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px!important}
.nrn-edit-card{display:flex;flex-direction:column;min-height:190px;padding:18px!important}
.nrn-edit-card.has-data{border-color:#d6ebe3!important;background:linear-gradient(180deg,#ffffff,#fcfffd)!important}
.nrn-edit-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.nrn-edit-card-head h3{margin:0!important;font-size:1rem!important}
.nrn-edit-card .description{flex:1;font-size:.82rem;line-height:1.55}
.nrn-edit-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:14px}
.nrn-edit-card .status{display:inline-flex;align-items:center;min-height:29px;margin:0;padding:5px 10px;border:1px solid #dde8ef;border-radius:999px;background:#f8fbfd;color:#607b8b;font-size:.72rem;font-weight:800}
.nrn-edit-card .disabled{color:#8394a0;font-size:.76rem;font-weight:700}
#hub-groups{scroll-margin-top:calc(var(--nrn-topbar) + 16px)}
.nrn-edit-group[id]{scroll-margin-top:calc(var(--nrn-topbar) + 16px)}

@media(max-width:1100px){
  .nrn-edit-summary-grid{grid-template-columns:1fr 1fr}
  .nrn-edit-summary-card:first-child{grid-column:1 / -1}
}
@media(max-width:780px){
  .nrn-edit-hero-main{align-items:flex-start;flex-direction:column}
  .nrn-edit-actions{width:100%;justify-content:flex-start}
  .nrn-edit-summary-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .nrn-edit-hero{padding:15px 14px 0}
  .nrn-edit-icon{width:46px;height:46px}
  .nrn-edit-actions .button{flex:1 1 auto}
}


/* ===============================================================
   v2.4 - Operational / de-cluttered interface
   =============================================================== */
.nrn-dashboard-clean-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:16px;
  margin-top:16px;
}

.nrn-footer-minimal{
  grid-template-columns:1fr auto;
}

.nrn-login-shell-clean{
  min-height:520px;
}

.nrn-login-visual-clean{
  display:grid;
  place-items:center;
  padding:40px;
}

.nrn-login-brand-clean{
  flex-direction:column;
  text-align:center;
  gap:18px;
}

.nrn-login-brand-clean img{
  width:150px;
  height:150px;
}

.nrn-login-brand-clean div{
  text-align:center;
}

.nrn-login-brand-clean strong{
  font-size:1.55rem;
}

.nrn-login-brand-clean span{
  margin-top:4px;
  font-size:1.2rem;
}

.nrn-edit-basic-row{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  padding:14px 15px;
  border:1px solid #e3edf3;
  border-left:4px solid #0d7fd7;
  border-radius:11px;
  background:rgba(255,255,255,.88);
}

.nrn-edit-basic-copy{
  display:grid;
  gap:4px;
}

.nrn-edit-basic-copy strong{
  color:#29485c;
  font-size:.83rem;
}

.nrn-edit-basic-actions{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

@media(max-width:900px){
  .nrn-dashboard-clean-grid{grid-template-columns:1fr}
}

@media(max-width:680px){
  .nrn-footer-minimal{grid-template-columns:1fr;gap:8px}
  .nrn-edit-basic-row{align-items:flex-start;flex-direction:column}
  .nrn-edit-basic-actions{width:100%}
  .nrn-edit-basic-actions .button{flex:1 1 auto}
  .nrn-login-brand-clean img{width:110px;height:110px}
}


/* ===============================================================
   v2.6 - Complete MG RTX Registry UI
   =============================================================== */

.nrn-rtx-page-head,
.nrn-rtx-form-hero {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:18px 20px;
  border:1px solid var(--nrn-border);
  border-radius:var(--nrn-radius);
  background:
    radial-gradient(circle at 100% 0%,rgba(124,92,231,.08),transparent 240px),
    linear-gradient(135deg,#fff,#fbfdff);
  box-shadow:var(--nrn-shadow-soft);
}

.nrn-rtx-page-head::after,
.nrn-rtx-form-hero::after {
  content:"";
  position:absolute;
  right:-70px;
  top:-85px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(8,183,216,.08),transparent 70%);
  pointer-events:none;
}

.nrn-rtx-head-actions {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.nrn-rtx-breadcrumb {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:#8093a2;
  font-size:.72rem;
  font-weight:650;
}

.nrn-rtx-breadcrumb a {
  color:#5c778a!important;
  text-decoration:none!important;
}

.nrn-rtx-breadcrumb a:hover {
  color:#0877c9!important;
}

.nrn-rtx-stat-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}

.nrn-rtx-stat {
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:15px 17px;
  border:1px solid var(--nrn-border);
  border-radius:11px;
  background:#fff;
  box-shadow:var(--nrn-shadow-soft);
}

.nrn-rtx-stat strong {
  margin-top:2px;
  color:#173d55;
  font-size:1.55rem;
  line-height:1.1;
}

.nrn-rtx-stat-label {
  color:#778b9a;
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.nrn-rtx-stat.has-warning strong {
  color:#b47514;
}

.nrn-rtx-filter-card {
  padding:12px!important;
}

.nrn-rtx-filter-row {
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.nrn-rtx-search {
  min-width:280px;
  flex:1 1 420px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 11px;
  border:1px solid #d4e1e9;
  border-radius:9px;
  background:#f9fbfd;
}

.nrn-rtx-search svg {
  width:19px;
  height:19px;
  flex:0 0 auto;
  fill:#668294;
}

body.pf-page .nrn-rtx-search input {
  width:100%!important;
  min-width:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.nrn-filter-check {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border:1px solid #d9e4eb;
  border-radius:8px;
  background:#fff;
  color:#597184;
  font-size:.76rem;
  font-weight:700;
}

body.pf-page .nrn-filter-check input {
  width:auto!important;
  margin:0;
  padding:0!important;
  box-shadow:none!important;
}

.nrn-rtx-patient-hero,
.nrn-rtx-visit-hero {
  position:relative;
  overflow:hidden;
  margin-bottom:14px;
  padding:18px 20px;
  border:1px solid var(--nrn-border);
  border-radius:var(--nrn-radius);
  background:
    radial-gradient(circle at 100% 0%,rgba(22,198,186,.09),transparent 260px),
    linear-gradient(135deg,#fff,#fbfdff);
  box-shadow:var(--nrn-shadow-soft);
}

.nrn-rtx-patient-main,
.nrn-rtx-visit-main {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.nrn-rtx-patient-identity {
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.nrn-rtx-avatar {
  width:76px;
  height:76px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#0b71bf;
  background:linear-gradient(145deg,#e5f4ff,#edf9ff);
  border:1px solid #d1e7f4;
  font-size:1.6rem;
  font-weight:850;
}

.nrn-rtx-patient-hero h1,
.nrn-rtx-visit-hero h1 {
  margin:1px 0 7px!important;
  font-size:1.7rem!important;
}

.nrn-rtx-id-chip {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  background:#f0f5f8;
  color:#61798b;
  font-size:.76rem;
}

.nrn-rtx-id-chip svg {
  width:16px;
  height:16px;
  fill:#607d91;
}

.nrn-rtx-id-chip strong {
  color:#23465d;
}

.nrn-rtx-patient-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.nrn-rtx-record-note {
  position:relative;
  z-index:1;
  width:max-content;
  max-width:100%;
  margin-top:13px;
  padding:6px 9px;
  border-radius:7px;
  background:#f6f8fa;
  color:#788b98;
  font-size:.69rem;
  font-weight:650;
}

.nrn-rtx-profile-grid {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);
  gap:14px;
}

.nrn-rtx-summary-card {
  align-self:start;
}

.nrn-rtx-summary-list {
  display:grid;
  gap:8px;
}

.nrn-rtx-summary-list > div {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #e9eff3;
}

.nrn-rtx-summary-list > div:last-child {
  border-bottom:0;
}

.nrn-rtx-summary-list span {
  color:#778b9a;
  font-size:.74rem;
}

.nrn-rtx-summary-list strong {
  color:#29495d;
  font-size:.76rem;
  text-align:right;
}

.nrn-rtx-visit-meta {
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  color:#718596;
  font-size:.78rem;
}

.nrn-rtx-visit-meta a {
  color:#176fae!important;
  font-weight:800;
  text-decoration:none!important;
}

.nrn-rtx-visit-score-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:16px;
  border:1px solid #e3ecf2;
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.84);
}

.nrn-rtx-visit-score-grid > div {
  padding:12px 14px;
  border-right:1px solid #e8eef3;
}

.nrn-rtx-visit-score-grid > div:last-child {
  border-right:0;
}

.nrn-rtx-visit-score-grid span {
  display:block;
  color:#8395a3;
  font-size:.66rem;
  font-weight:800;
  text-transform:uppercase;
}

.nrn-rtx-visit-score-grid strong {
  display:block;
  margin-top:4px;
  color:#23465b;
  font-size:1rem;
}

.nrn-rtx-two-col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.nrn-rtx-subsection {
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e8eef3;
}

.nrn-rtx-tag-list {
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.nrn-rtx-reaction-list {
  display:grid;
  gap:7px;
}

.nrn-rtx-reaction-list > div {
  padding:8px 10px;
  border:1px solid #e5edf2;
  border-radius:8px;
  background:#fbfdfe;
}

.nrn-rtx-source-details {
  margin-top:14px!important;
}

.nrn-rtx-form {
  max-width:1180px;
  margin:0 auto;
}

.nrn-rtx-form-section-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.nrn-rtx-form-section-head h2 {
  margin:0!important;
}

.nrn-form-field {
  margin:0!important;
}

body.pf-page .nrn-form-field label {
  display:block;
  margin-bottom:6px;
  color:#496275;
  font-size:.74rem;
  font-weight:800;
}

body.pf-page .nrn-form-field input,
body.pf-page .nrn-form-field select,
body.pf-page .nrn-form-field textarea {
  width:100%;
}

.nrn-rtx-score-form-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.nrn-rtx-formset-list {
  display:grid;
  gap:9px;
  margin-top:12px;
}

body.pf-page .nrn-rtx-formset-entry {
  margin:0!important;
}

.nrn-form-actions {
  position:sticky;
  bottom:12px;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  margin:16px 0 8px;
  padding:12px;
  border:1px solid var(--nrn-border);
  border-radius:11px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 25px rgba(28,74,105,.12);
}

@media(max-width:1000px) {
  .nrn-rtx-profile-grid,
  .nrn-rtx-two-col {
    grid-template-columns:1fr;
  }

  .nrn-rtx-visit-score-grid {
    grid-template-columns:1fr 1fr;
  }

  .nrn-rtx-visit-score-grid > div:nth-child(2) {
    border-right:0;
  }

  .nrn-rtx-visit-score-grid > div:nth-child(-n+2) {
    border-bottom:1px solid #e8eef3;
  }
}

@media(max-width:760px) {
  .nrn-rtx-page-head,
  .nrn-rtx-patient-main,
  .nrn-rtx-visit-main {
    align-items:flex-start;
    flex-direction:column;
  }

  .nrn-rtx-head-actions,
  .nrn-rtx-patient-actions {
    width:100%;
    justify-content:flex-start;
  }

  .nrn-rtx-stat-grid {
    grid-template-columns:1fr;
  }

  .nrn-rtx-score-form-grid {
    grid-template-columns:1fr;
  }

  .nrn-rtx-filter-row {
    align-items:stretch;
  }

  .nrn-rtx-search {
    min-width:0;
    flex-basis:100%;
  }

  .nrn-form-actions {
    position:static;
  }
}

@media(max-width:520px) {
  .nrn-rtx-patient-hero,
  .nrn-rtx-visit-hero,
  .nrn-rtx-page-head,
  .nrn-rtx-form-hero {
    padding:15px 14px;
  }

  .nrn-rtx-avatar {
    width:58px;
    height:58px;
    font-size:1.2rem;
  }

  .nrn-rtx-patient-identity {
    align-items:flex-start;
  }

  .nrn-rtx-visit-score-grid {
    grid-template-columns:1fr;
  }

  .nrn-rtx-visit-score-grid > div {
    border-right:0!important;
    border-bottom:1px solid #e8eef3;
  }

  .nrn-rtx-visit-score-grid > div:last-child {
    border-bottom:0;
  }
}


/* ===============================================================
   v2.7 - Unified Main Patient / Visit / Clinical Forms
   =============================================================== */

.nrn-main-form-page {
  max-width:1180px!important;
}

.nrn-main-form-hero,
.nrn-clinical-editor-hero {
  position:relative;
  overflow:hidden;
  margin-bottom:14px;
  padding:18px 20px;
  border:1px solid var(--nrn-border);
  border-radius:var(--nrn-radius);
  background:
    radial-gradient(circle at 100% 0%,rgba(22,198,186,.09),transparent 250px),
    linear-gradient(135deg,#fff,#fbfdff);
  box-shadow:var(--nrn-shadow-soft);
}

.nrn-main-form-hero::after,
.nrn-clinical-editor-hero::after {
  content:"";
  position:absolute;
  right:-70px;
  top:-84px;
  width:205px;
  height:205px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(8,183,216,.08),transparent 70%);
  pointer-events:none;
}

.nrn-main-form-hero-row,
.nrn-clinical-editor-main {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.nrn-main-form-identity {
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.nrn-main-form-icon {
  width:56px;
  height:56px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#087ec6;
  background:linear-gradient(145deg,#e6f8fb,#def0fa);
  border:1px solid #cce5ef;
}

.nrn-main-form-icon.visit {
  color:#176fd1;
  background:linear-gradient(145deg,#edf5ff,#e4f0ff);
}

.nrn-main-form-icon.clinical {
  color:#0c8b82;
  background:linear-gradient(145deg,#e9faf7,#e2f6f3);
}

.nrn-main-form-icon svg {
  width:27px;
  height:27px;
  fill:currentColor;
}

.nrn-main-form-hero h1,
.nrn-clinical-editor-hero h1 {
  margin:1px 0 5px!important;
  font-size:1.65rem!important;
}

.nrn-main-form-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  color:#718596;
  font-size:.77rem;
}

.nrn-main-form-meta strong {
  color:#2a4b60;
}

.nrn-main-form-hero-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.nrn-main-form {
  max-width:1180px;
  margin:0 auto;
}

.nrn-form-card {
  padding:18px!important;
}

.nrn-form-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  padding-bottom:11px;
  border-bottom:1px solid #e9eff3;
}

.nrn-form-card-head > div:first-child {
  display:flex;
  align-items:center;
  gap:10px;
}

.nrn-form-card-head h2 {
  margin:0!important;
  font-size:1rem!important;
}

.nrn-form-step {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:8px;
  background:#e9f5fc;
  color:#0a76bb;
  font-size:.69rem;
  font-weight:900;
}

.nrn-form-lock-note {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:#f2f6f8;
  color:#6c8190;
  font-size:.69rem;
  font-weight:800;
}

.nrn-form-grid-2,
.nrn-form-grid-3 {
  display:grid;
  gap:12px;
}

.nrn-form-grid-2 {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.nrn-form-grid-3 {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.nrn-form-field {
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}

body.pf-page .nrn-form-field label {
  display:block;
  margin-bottom:6px;
  color:#496275;
  font-size:.74rem;
  font-weight:800;
}

body.pf-page .nrn-form-field input:not([type="checkbox"]),
body.pf-page .nrn-form-field select,
body.pf-page .nrn-form-field textarea {
  width:100%;
}

.nrn-form-field-wide {
  margin-top:12px!important;
}

.nrn-checkbox-card {
  display:flex;
  align-items:flex-start;
  gap:11px;
  max-width:520px;
  padding:13px 14px;
  border:1px solid #dfe9ef;
  border-radius:10px;
  background:#fbfdfe;
  cursor:pointer;
}

body.pf-page .nrn-checkbox-card input {
  width:auto!important;
  margin:3px 0 0;
}

.nrn-checkbox-card span {
  display:grid;
  gap:3px;
}

.nrn-checkbox-card strong {
  color:#29495d;
  font-size:.79rem;
}

.nrn-checkbox-card small {
  color:#7a8d9a;
  font-size:.7rem;
  line-height:1.45;
}

.nrn-category-selector > div,
.nrn-category-selector > ul {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:0!important;
  margin:0!important;
  list-style:none!important;
  columns:auto!important;
}

.nrn-category-selector li,
.nrn-category-selector > div > div {
  margin:0!important;
  break-inside:auto!important;
}

.nrn-category-selector label {
  display:flex!important;
  align-items:flex-start;
  gap:8px;
  min-height:42px;
  margin:0!important;
  padding:9px 10px;
  border:1px solid #dfe9ef;
  border-radius:9px;
  background:#fbfdfe;
  color:#3d5a6d;
  font-size:.75rem;
  font-weight:700!important;
  cursor:pointer;
}

.nrn-category-selector input[type="checkbox"] {
  width:auto!important;
  margin:2px 0 0!important;
  flex:0 0 auto;
}

.nrn-main-form-actions {
  margin-bottom:20px;
}

/* Clinical editor headers */
.nrn-editor-info {
  margin:-4px 0 14px!important;
  box-shadow:none!important;
  border-color:#e4edf2!important;
}

.nrn-editor-info > summary {
  padding:10px 13px!important;
  font-size:.75rem!important;
  color:#617b8d!important;
  background:#fbfdfe!important;
}

.nrn-editor-info .section-body {
  padding:12px 14px!important;
  color:#718596;
  font-size:.76rem;
  line-height:1.55;
}

/* Existing clinical editor cards become consistent form cards. */
body.pf-page .nrn-clinical-editor-hero ~ form > .card,
body.pf-page .nrn-editor-info ~ form > .card {
  padding:18px!important;
}

body.pf-page .container form > .card.actions,
body.pf-page .container form > .card.header-actions {
  position:sticky;
  bottom:12px;
  z-index:30;
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  margin-top:16px;
  padding:12px!important;
  background:rgba(255,255,255,.95)!important;
  backdrop-filter:blur(10px);
  box-shadow:0 8px 25px rgba(28,74,105,.12)!important;
}

body.pf-page .container form .entry.form-row {
  padding:14px!important;
  border:1px solid #e2ebf1!important;
  border-radius:10px!important;
  background:#fbfdfe!important;
}

body.pf-page .container form .entry.form-row + .entry.form-row {
  margin-top:10px!important;
}

@media(max-width:920px) {
  .nrn-form-grid-3 {
    grid-template-columns:1fr 1fr;
  }

  .nrn-category-selector > div,
  .nrn-category-selector > ul {
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:720px) {
  .nrn-main-form-hero-row,
  .nrn-clinical-editor-main {
    align-items:flex-start;
    flex-direction:column;
  }

  .nrn-main-form-hero-actions {
    width:100%;
    justify-content:flex-start;
  }

  .nrn-form-grid-2,
  .nrn-form-grid-3 {
    grid-template-columns:1fr;
  }

  .nrn-category-selector > div,
  .nrn-category-selector > ul {
    grid-template-columns:1fr!important;
  }
}

@media(max-width:520px) {
  .nrn-main-form-hero,
  .nrn-clinical-editor-hero {
    padding:15px 14px;
  }

  .nrn-main-form-icon {
    width:46px;
    height:46px;
  }

  .nrn-main-form-hero-actions .button {
    flex:1 1 auto;
  }

  body.pf-page .container form > .card.actions,
  body.pf-page .container form > .card.header-actions {
    position:static;
  }
}


/* ===============================================================
   v2.8 - Self-hosted Vazirmatn for Persian-only text
   =============================================================== */

@font-face {
  font-family: "Vazirmatn";
  src: url("./fonts/Vazirmatn-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Vazirmatn";
  src: url("./fonts/Vazirmatn-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Vazirmatn";
  src: url("./fonts/Vazirmatn-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Vazirmatn";
  src: url("./fonts/Vazirmatn-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
}

/* English stays on the existing application stack. */
body.pf-page,
body.nrn-login-page {
  font-family: Inter, "Segoe UI", Tahoma, Arial, sans-serif !important;
}

/* Only Persian content gets Vazirmatn. */
.nrn-fa-text,
[lang="fa"],
[dir="rtl"].nrn-use-vazirmatn {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

/* Persian form values should also align naturally. */
input.nrn-fa-text,
textarea.nrn-fa-text,
select.nrn-fa-text {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  direction: rtl;
  text-align: right;
}

/* Persian free text / names read more naturally RTL. */
span.nrn-fa-text,
div.nrn-fa-text,
p.nrn-fa-text,
td.nrn-fa-text,
strong.nrn-fa-text,
a.nrn-fa-text {
  unicode-bidi: plaintext;
}


/* ===============================================================
   v2.9 - Jalali/Shamsi dates in UI, Gregorian storage in database
   =============================================================== */

body.pf-page input.nrn-jalali-date {
  direction:ltr !important;
  text-align:left !important;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  max-width:240px;
}

body.pf-page input.nrn-jalali-date::placeholder {
  color:#9aabb7;
}

.nrn-jalali-display {
  direction:ltr;
  unicode-bidi:isolate;
  font-variant-numeric:tabular-nums;
}


/* ===============================================================
   v2.10 - Local dependency-free Jalali datepicker
   =============================================================== */

.nrn-jdp-wrap {
  position:relative;
  display:flex;
  align-items:stretch;
  width:100%;
  max-width:280px;
}

body.pf-page .nrn-jdp-wrap input.nrn-jalali-date {
  width:100%!important;
  max-width:none!important;
  padding-right:42px!important;
}

body.pf-page .nrn-jdp-trigger {
  position:absolute;
  top:50%;
  right:4px;
  z-index:2;
  width:34px;
  min-width:34px;
  height:32px;
  min-height:32px;
  padding:0!important;
  transform:translateY(-50%);
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#5e7b8f!important;
  box-shadow:none!important;
}

body.pf-page .nrn-jdp-trigger:hover {
  background:#edf5fa!important;
  color:#0878c5!important;
}

.nrn-jdp-trigger svg {
  width:18px;
  height:18px;
  fill:currentColor;
}

.nrn-jdp {
  position:absolute;
  top:calc(100% + 7px);
  left:0;
  z-index:5000;
  width:292px;
  padding:12px;
  border:1px solid #d8e5ed;
  border-radius:12px;
  background:#fff;
  color:#29475c;
  box-shadow:0 18px 46px rgba(22,62,88,.20);
  font-family:"Vazirmatn", Tahoma, Arial, sans-serif;
  direction:rtl;
  user-select:none;
}

.nrn-jdp[hidden] {
  display:none!important;
}

.nrn-jdp.nrn-jdp-up {
  top:auto;
  bottom:calc(100% + 7px);
}

.nrn-jdp-head {
  display:grid;
  grid-template-columns:36px 1fr 36px;
  align-items:center;
  gap:6px;
  margin-bottom:10px;
}

body.pf-page .nrn-jdp-nav {
  width:34px;
  min-width:34px;
  min-height:34px;
  padding:0!important;
  border:1px solid #e0e9ef!important;
  border-radius:8px!important;
  background:#fbfdfe!important;
  color:#426276!important;
  box-shadow:none!important;
  font-family:Tahoma,Arial,sans-serif!important;
  font-size:1.3rem!important;
  line-height:1!important;
}

body.pf-page .nrn-jdp-nav:hover {
  background:#eff7fb!important;
  border-color:#cde0eb!important;
}

.nrn-jdp-title {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
}

.nrn-jdp-title strong {
  color:#173f56;
  font-size:.86rem;
}

.nrn-jdp-title span {
  color:#738a99;
  font-size:.77rem;
  font-variant-numeric:tabular-nums;
}

.nrn-jdp-week,
.nrn-jdp-grid {
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:3px;
}

.nrn-jdp-week {
  margin-bottom:5px;
}

.nrn-jdp-week span {
  display:grid;
  place-items:center;
  height:26px;
  color:#8a9ba8;
  font-size:.67rem;
  font-weight:800;
}

.nrn-jdp-week span:last-child {
  color:#c25c5c;
}

.nrn-jdp-empty,
.nrn-jdp-day {
  height:34px;
}

body.pf-page .nrn-jdp-day {
  width:100%;
  min-width:0;
  min-height:34px;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#34566a!important;
  box-shadow:none!important;
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important;
  font-size:.74rem!important;
  font-weight:650!important;
}

body.pf-page .nrn-jdp-day:hover {
  background:#eef7fb!important;
  color:#086fb8!important;
}

body.pf-page .nrn-jdp-day.is-today {
  border-color:#8ecbe6!important;
  color:#0877be!important;
}

body.pf-page .nrn-jdp-day.is-selected {
  border-color:#0879c9!important;
  background:linear-gradient(180deg,#1686ea,#096bce)!important;
  color:#fff!important;
  font-weight:850!important;
}

.nrn-jdp-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #e9eff3;
}

body.pf-page .nrn-jdp-link {
  min-height:30px;
  padding:4px 7px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0b74be!important;
  font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important;
  font-size:.7rem!important;
}

body.pf-page .nrn-jdp-link:hover {
  background:#f0f7fb!important;
}

@media(max-width:520px) {
  .nrn-jdp {
    width:min(292px,calc(100vw - 34px));
  }
}


/* ===============================================================
   v2.11 - Searchable patient picker for New Visit
   =============================================================== */

.nrn-patient-picker {
  position:relative;
}

.nrn-patient-picker.is-enhanced > select.nrn-patient-source-select {
  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;
}

.nrn-patient-search-box {
  position:relative;
  display:flex;
  align-items:center;
  min-height:42px;
  border:1px solid #ccdbe5;
  border-radius:9px;
  background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.nrn-patient-search-box:focus-within {
  border-color:#26a8df;
  box-shadow:0 0 0 3px rgba(38,168,223,.10);
}

.nrn-patient-search-box > svg {
  width:19px;
  height:19px;
  flex:0 0 auto;
  margin-left:11px;
  fill:#6d8798;
}

body.pf-page .nrn-patient-search-input {
  width:100%!important;
  min-width:0!important;
  height:40px;
  padding:8px 38px 8px 9px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.pf-page .nrn-patient-search-input:focus {
  border:0!important;
  box-shadow:none!important;
}

body.pf-page .nrn-patient-search-clear {
  position:absolute;
  right:5px;
  top:50%;
  width:30px;
  min-width:30px;
  height:30px;
  min-height:30px;
  padding:0!important;
  transform:translateY(-50%);
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:#8194a2!important;
  box-shadow:none!important;
  font-size:1.15rem!important;
  font-weight:500!important;
}

body.pf-page .nrn-patient-search-clear:hover {
  background:#f0f5f8!important;
  color:#38586c!important;
}

.nrn-patient-search-hint {
  margin-top:6px;
  color:#8193a0;
  font-size:.69rem;
}

.nrn-patient-results {
  position:absolute;
  top:48px;
  left:0;
  right:0;
  z-index:4500;
  max-height:340px;
  overflow-y:auto;
  padding:6px;
  border:1px solid #d5e3ec;
  border-radius:10px;
  background:#fff;
  box-shadow:0 15px 38px rgba(24,64,90,.18);
}

.nrn-patient-results[hidden] {
  display:none!important;
}

body.pf-page .nrn-patient-result {
  width:100%;
  min-height:52px;
  display:grid;
  justify-items:start;
  gap:3px;
  padding:9px 10px!important;
  margin:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#29495d!important;
  text-align:left;
  box-shadow:none!important;
}

body.pf-page .nrn-patient-result:hover,
body.pf-page .nrn-patient-result:focus {
  background:#edf7fc!important;
  outline:none;
}

.nrn-patient-result strong {
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#21485f;
  font-size:.78rem;
  white-space:nowrap;
}

.nrn-patient-result span {
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#758b99;
  font-size:.68rem;
  white-space:nowrap;
}

.nrn-patient-result-empty {
  padding:12px 10px;
  color:#7b8f9d;
  font-size:.74rem;
}

.nrn-patient-selected {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:54px;
  padding:9px 10px 9px 12px;
  border:1px solid #cde7dd;
  border-radius:9px;
  background:#f7fcfa;
}

.nrn-patient-selected[hidden] {
  display:none!important;
}

.nrn-patient-selected > div {
  min-width:0;
  display:grid;
  gap:2px;
}

.nrn-patient-selected span {
  color:#729087;
  font-size:.65rem;
  font-weight:800;
  text-transform:uppercase;
}

.nrn-patient-selected strong {
  overflow:hidden;
  color:#245447;
  font-size:.76rem;
  text-overflow:ellipsis;
}

body.pf-page .nrn-patient-selected button {
  min-height:30px;
  flex:0 0 auto;
  padding:5px 8px!important;
  border-color:#cfe2dc!important;
  background:#fff!important;
  color:#31705f!important;
  box-shadow:none!important;
  font-size:.69rem!important;
}

@media(max-width:620px) {
  .nrn-patient-results {
    max-height:280px;
  }

  .nrn-patient-selected {
    align-items:flex-start;
  }
}


/* ===============================================================
   v2.12 - Patient-centric navigation + tabbed Visit Workspace
   =============================================================== */

.nrn-patient-workspace-hero{
  position:relative;overflow:hidden;margin-bottom:14px;padding:18px 20px 0;
  border:1px solid var(--nrn-border);border-radius:var(--nrn-radius);
  background:radial-gradient(circle at 100% 0%,rgba(22,198,186,.09),transparent 250px),linear-gradient(135deg,#fff,#fbfdff);
  box-shadow:var(--nrn-shadow-soft)
}
.nrn-patient-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:17px;border-top:1px solid #e5edf2}
.nrn-patient-summary-strip>div{min-width:0;padding:12px 14px;border-right:1px solid #e7eef3}
.nrn-patient-summary-strip>div:last-child{border-right:0}
.nrn-patient-summary-strip span{display:block;margin-bottom:3px;color:#8295a3;font-size:.65rem;font-weight:800;text-transform:uppercase}
.nrn-patient-summary-strip strong{display:block;overflow:hidden;color:#294a5f;font-size:.82rem;text-overflow:ellipsis}
.nrn-patient-profile-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:14px}
.nrn-patient-id-list{display:grid;gap:8px}
.nrn-patient-id-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e9eff3}
.nrn-patient-id-row:last-child{border-bottom:0}
.nrn-patient-id-row>div{min-width:0;display:grid;gap:2px}
.nrn-patient-id-row strong{color:#294b60;font-size:.75rem}
.nrn-patient-id-row span:not(.nrn-badge){overflow:hidden;color:#718694;font-size:.73rem;text-overflow:ellipsis}
.nrn-workspace-open{min-width:100px}

/* Visit tabs */
.nrn-visit-workspace-tabs{
  position:relative;z-index:2;display:flex;align-items:center;gap:4px;margin-top:13px;padding-top:8px;
  overflow-x:auto;border-top:1px solid #e6edf2;scrollbar-width:thin
}
body.pf-page .nrn-visit-workspace-tabs button{
  flex:0 0 auto;min-height:40px;padding:7px 10px!important;border:0!important;border-bottom:2px solid transparent!important;
  border-radius:7px 7px 0 0!important;background:transparent!important;color:#677f90!important;box-shadow:none!important;
  font-size:.72rem!important;font-weight:800!important
}
body.pf-page .nrn-visit-workspace-tabs button:hover{background:#f2f8fb!important;color:#0873bd!important}
body.pf-page .nrn-visit-workspace-tabs button.is-active{border-bottom-color:#0c7dcc!important;background:#edf7fc!important;color:#0873bd!important}
body.pf-page [data-visit-panel][hidden]{display:none!important}

.nrn-module-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;padding-bottom:10px;border-bottom:1px solid #e8eef3
}
.nrn-module-head>div:first-child{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nrn-module-head h3{margin:0!important;font-size:.9rem!important}
.nrn-submodule-head{margin-top:18px}
.nrn-module-state{
  display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border:1px solid #e0e8ed;border-radius:999px;
  background:#f7f9fb;color:#7b8f9d;font-size:.65rem;font-weight:800
}
.nrn-module-state.has-data{border-color:#d4ebdf;background:#eaf8f1;color:#167b59}
.nrn-provenance{margin-top:14px!important;box-shadow:none!important;border-color:#e8eef2!important}
.nrn-provenance>summary{padding:10px 12px!important;color:#728797!important;font-size:.72rem!important;background:#fbfdfe!important}
.nrn-workflow-moved{max-width:720px;margin:50px auto!important}

@media(max-width:980px){
  .nrn-patient-summary-strip{grid-template-columns:1fr 1fr}
  .nrn-patient-summary-strip>div:nth-child(2n){border-right:0}
  .nrn-patient-profile-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .nrn-patient-workspace-hero{padding:15px 14px 0}
  .nrn-patient-summary-strip{grid-template-columns:1fr}
  .nrn-patient-summary-strip>div{border-right:0;border-bottom:1px solid #e7eef3}
  .nrn-patient-summary-strip>div:last-child{border-bottom:0}
  .nrn-module-head{align-items:flex-start;flex-direction:column}
  .nrn-module-head .button{width:100%}
}


/* ===============================================================
   v2.13 - Visit Workspace tab polish + route-link correction
   =============================================================== */
.nrn-visit-workspace-tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:3px!important;
  width:100%;
  margin-top:14px!important;
  padding:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:1px solid #dce7ee!important;
  border-radius:12px!important;
  background:#f4f8fb!important;
  scrollbar-width:thin;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
}

body.pf-page .nrn-visit-workspace-tabs button{
  appearance:none!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:38px!important;
  padding:7px 11px!important;
  margin:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#5d7587!important;
  box-shadow:none!important;
  font-size:.73rem!important;
  font-weight:780!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:background .14s ease,color .14s ease,box-shadow .14s ease!important;
}

body.pf-page .nrn-visit-workspace-tabs button:hover{
  border:0!important;
  background:#eaf3f8!important;
  color:#17658f!important;
  box-shadow:none!important;
}

body.pf-page .nrn-visit-workspace-tabs button.is-active{
  border:0!important;
  background:#fff!important;
  color:#086fb9!important;
  box-shadow:0 2px 8px rgba(28,74,105,.10),inset 0 0 0 1px #d7e7f0!important;
}

body.pf-page .nrn-visit-workspace-tabs button:focus-visible{
  outline:2px solid #32a9df!important;
  outline-offset:1px!important;
}

.nrn-tab-dot{
  width:6px;
  height:6px;
  flex:0 0 auto;
  display:inline-block;
  border-radius:50%;
  background:#22aa77;
  box-shadow:0 0 0 2px rgba(34,170,119,.10);
}

body.pf-page .nrn-visit-workspace-tabs button.is-active .nrn-tab-dot{
  background:#13a36e;
}

@media(max-width:680px){
  .nrn-visit-workspace-tabs{
    margin-left:-2px!important;
    margin-right:-2px!important;
  }

  body.pf-page .nrn-visit-workspace-tabs button{
    min-height:36px!important;
    padding:7px 10px!important;
    font-size:.71rem!important;
  }
}
