
:root{
  --nl-bg:#f7fbff;--nl-surface:#ffffff;--nl-surface-2:#eef8ff;--nl-ink:#15324a;--nl-muted:#6f8799;
  --nl-line:#dcebf5;--nl-primary:#2a7fa8;--nl-primary-2:#50b8c6;--nl-mint:#74cbb4;--nl-soft:#eaf7fb;
  --nl-accent:#7db9ef;--nl-danger:#d95d69;--nl-warning:#e8a94d;--nl-success:#3fa27d;
  --nl-radius-xl:28px;--nl-radius-lg:22px;--nl-radius-md:16px;--nl-shadow:0 18px 55px rgba(38,91,125,.10);
  --nl-shadow-soft:0 10px 30px rgba(38,91,125,.07);
}
html{background:var(--nl-bg)}
body{background:
  radial-gradient(circle at 90% 0%,rgba(125,185,239,.15),transparent 32%),
  radial-gradient(circle at 10% 12%,rgba(116,203,180,.12),transparent 28%),
  linear-gradient(180deg,#fbfdff 0%,#f5fbff 100%) !important;color:var(--nl-ink)}
body,.app-shell,.page-shell{font-feature-settings:"kern","liga"}
.card,.panel,.content-card,.metric-card{
  border:1px solid rgba(207,228,240,.92)!important;background:rgba(255,255,255,.94)!important;
  box-shadow:var(--nl-shadow-soft)!important;border-radius:var(--nl-radius-lg)!important;
}
.card:hover,.content-card:hover{box-shadow:var(--nl-shadow)!important}
.btn,.button,button,input[type=submit]{border-radius:14px!important;font-weight:800}
.btn.primary,.button.primary{background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;border:0!important;box-shadow:0 10px 24px rgba(42,127,168,.18)!important}
.btn.soft{background:var(--nl-soft)!important;color:var(--nl-primary)!important;border-color:#d6edf5!important}
input,select,textarea{border-radius:14px!important;border-color:var(--nl-line)!important;background:#fff!important}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:#79bed7!important;box-shadow:0 0 0 4px rgba(80,184,198,.12)!important}
.topbar,.app-topbar{backdrop-filter:saturate(160%) blur(16px);background:rgba(255,255,255,.90)!important;border-bottom:1px solid rgba(212,232,243,.92)!important}
.sidebar,.app-sidebar{background:linear-gradient(180deg,#fbfeff 0%,#f1f9fd 100%)!important;border-inline-end:1px solid var(--nl-line)!important}
.nav-link,.sidebar a{border-radius:14px!important}
.nav-link.active,.sidebar a.active{background:linear-gradient(135deg,#e8f6fb,#eaf9f4)!important;color:#1d6f8d!important}
.user-chip{border:1px solid var(--nl-line)!important;background:#fff!important;border-radius:16px!important;box-shadow:0 6px 18px rgba(43,95,128,.06)!important}
.user-avatar{background:linear-gradient(135deg,#dff3fb,#ddf7ee)!important;color:#236c85!important}
.role-workflow-strip{border:1px solid var(--nl-line)!important;background:rgba(255,255,255,.78)!important;border-radius:18px!important;box-shadow:var(--nl-shadow-soft)!important}
.role-workflow-strip a{border-radius:12px!important}
.section-head h1,.section-head h2,.page-head h1{letter-spacing:-.02em}
.nl-neural-shell{position:relative;isolation:isolate}
.nl-neural-shell:before,.nl-neural-shell:after{content:"";position:absolute;border-radius:999px;filter:blur(1px);z-index:-1;pointer-events:none}
.nl-neural-shell:before{width:240px;height:240px;right:-80px;top:20px;background:radial-gradient(circle,rgba(125,185,239,.22),rgba(125,185,239,0) 70%)}
.nl-neural-shell:after{width:220px;height:220px;left:-90px;bottom:0;background:radial-gradient(circle,rgba(116,203,180,.18),rgba(116,203,180,0) 70%)}
.nl-public-home{max-width:1180px;margin:0 auto;padding:24px 18px 64px}
.nl-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:34px;border:1px solid #d8ebf4;border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,249,253,.95));box-shadow:var(--nl-shadow)}
.nl-hero-copy h1{font-size:clamp(34px,5vw,62px);line-height:1.08;margin:10px 0 14px;color:#173b52}
.nl-hero-copy p{font-size:18px;color:#5f7d90;max-width:680px;line-height:1.9}
.nl-kicker{display:inline-flex;gap:8px;align-items:center;padding:8px 13px;border-radius:999px;background:#eaf8f4;color:#277c68;font-weight:900;font-size:13px}
.nl-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.nl-hero-visual{min-height:300px;display:grid;place-items:center;position:relative}
.nl-neuro-orbit{width:min(320px,82vw);aspect-ratio:1;border-radius:50%;position:relative;background:
 radial-gradient(circle at 50% 50%,#ffffff 0 28%,transparent 29%),
 radial-gradient(circle at 42% 38%,rgba(125,185,239,.42),transparent 28%),
 radial-gradient(circle at 60% 62%,rgba(116,203,180,.34),transparent 26%),
 linear-gradient(145deg,#e7f5fb,#f2fbf7);box-shadow:inset 0 0 0 1px #d8edf5,0 30px 60px rgba(42,127,168,.14)}
.nl-neuro-orbit:before,.nl-neuro-orbit:after{content:"";position:absolute;inset:12%;border:1px dashed rgba(42,127,168,.30);border-radius:50%}
.nl-neuro-orbit:after{inset:26%;border-style:solid;border-color:rgba(80,184,198,.22)}
.nl-neuro-core{position:absolute;inset:33%;border-radius:42% 58% 48% 52%/52% 44% 56% 48%;background:linear-gradient(145deg,#6fb3df,#70cbb1);box-shadow:0 18px 40px rgba(48,126,157,.22)}
.nl-neuro-core:before,.nl-neuro-core:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:
 45px -18px 0 0 rgba(255,255,255,.9),-38px 12px 0 0 rgba(255,255,255,.85),18px 42px 0 0 rgba(255,255,255,.88)}
.nl-trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.nl-trust-item{padding:18px;border:1px solid var(--nl-line);border-radius:18px;background:rgba(255,255,255,.86);text-align:center}
.nl-trust-item b{display:block;font-size:18px;color:#226e8d}.nl-trust-item span{font-size:13px;color:var(--nl-muted)}
.nl-section{margin-top:24px}.nl-section-title{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:14px}
.nl-section-title h2{font-size:28px;margin:0}.nl-section-title p{margin:4px 0 0;color:var(--nl-muted)}
.nl-service-grid,.nl-doctor-grid,.nl-journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.nl-feature-card{padding:22px;border:1px solid var(--nl-line);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:var(--nl-shadow-soft)}
.nl-feature-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#e5f5fb,#e7f8f1);font-size:24px;margin-bottom:14px}
.nl-feature-card h3{margin:0 0 8px}.nl-feature-card p{margin:0;color:var(--nl-muted);line-height:1.8}
.nl-cta-band{margin-top:26px;padding:24px;border-radius:26px;background:linear-gradient(135deg,#1f708f,#4caeb8);color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 24px 55px rgba(31,112,143,.20)}
.nl-cta-band h2{margin:0}.nl-cta-band p{margin:6px 0 0;color:rgba(255,255,255,.85)}
.nl-cta-band .btn{background:#fff!important;color:#1f708f!important}
@media(max-width:900px){
 .nl-hero{grid-template-columns:1fr;padding:24px}.nl-hero-visual{min-height:230px}.nl-trust-row{grid-template-columns:repeat(2,1fr)}
 .nl-service-grid,.nl-doctor-grid,.nl-journey-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .nl-public-home{padding:14px 12px 96px}.nl-hero{padding:20px;border-radius:24px}.nl-hero-copy h1{font-size:38px}.nl-hero-copy p{font-size:16px}
 .nl-service-grid,.nl-doctor-grid,.nl-journey-grid,.nl-trust-row{grid-template-columns:1fr}.nl-hero-visual{min-height:200px}
 .nl-cta-band{align-items:flex-start;flex-direction:column}.role-workflow-strip{overflow:auto;white-space:nowrap}
}
@media(prefers-reduced-motion:no-preference){
 .nl-neuro-orbit{animation:nlFloat 7s ease-in-out infinite}.nl-feature-card{transition:transform .2s ease,box-shadow .2s ease}.nl-feature-card:hover{transform:translateY(-3px);box-shadow:var(--nl-shadow)}
 @keyframes nlFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
}

.nl-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.nl-tabs a{padding:10px 14px;border-radius:12px;background:#edf8fc;color:#236f8d;font-weight:800;border:1px solid #d8ebf4;text-decoration:none}
.nl-tabs a:hover{background:#e5f5fb}
.nl-accounting-overview{position:sticky;top:74px;z-index:10;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px)}
.accounting-shell table,.table-wrap table{border-collapse:separate;border-spacing:0 8px}
.accounting-shell tbody tr,.table-wrap tbody tr{background:#fff}
.accounting-shell td,.table-wrap td{padding:12px 10px}
@media(max-width:720px){
 .nl-accounting-overview{position:static}
 .nl-tabs{overflow:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:4px}
}


/* === NeuroLife Universal Visual System V54-E === */
:root{
  --nl-glass:rgba(255,255,255,.86);
  --nl-glass-strong:rgba(255,255,255,.96);
  --nl-cyan-50:#effbff;--nl-cyan-100:#dff5fb;--nl-mint-50:#effbf7;--nl-mint-100:#ddf6ed;
  --nl-blue-700:#1f6d8c;--nl-navy:#16384f;--nl-text:#24475d;--nl-subtle:#7f97a7;
}
*{scrollbar-width:thin;scrollbar-color:#bfdde9 transparent}
*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#bfdde9;border-radius:999px}
a{transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
main,.content,.page-content,.app-content{min-width:0}
.page-shell,.content-shell,.dashboard-shell{max-width:1480px;margin-inline:auto}
.section-head,.page-head{position:relative;padding:18px 20px;margin-bottom:14px;border:1px solid rgba(216,235,244,.95);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,249,252,.88));box-shadow:0 10px 28px rgba(37,91,124,.06);overflow:hidden}
.section-head:after,.page-head:after{content:"";position:absolute;left:-34px;top:-44px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(116,203,180,.15),transparent 70%);pointer-events:none}
.section-head h1,.section-head h2,.page-head h1,.page-head h2{color:var(--nl-navy)!important}
.section-head p,.page-head p,.muted,.text-muted,small{color:var(--nl-muted)}
.grid{gap:16px!important}
.card,.panel,.content-card,.metric-card,.widget,.module,.box{
  overflow:hidden;border-color:rgba(213,233,243,.92)!important;
}
.card h2,.card h3,.panel h2,.panel h3{color:#1d455d}
.card .panel-title,.panel-title{gap:14px;align-items:center}
.panel-title h2,.panel-title h3{margin-bottom:3px}
.metric-card{position:relative}
.metric-card:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--nl-primary-2),var(--nl-mint));border-radius:0 999px 999px 0}
.metric-card strong{font-size:clamp(22px,3vw,34px);letter-spacing:-.025em;color:#1c5d79}
.metric-card a{font-weight:800;color:var(--nl-primary)}
.mini-stat{padding:16px;border:1px solid var(--nl-line);border-radius:18px;background:linear-gradient(145deg,#fff,#f8fcfe)}
.mini-stat small{display:block;margin-bottom:5px}.mini-stat strong{color:#1f6684}
.quick-actions-grid{display:flex;flex-wrap:wrap;gap:10px}
.quick-actions-grid .btn{min-height:44px}
.btn,.button,button{min-height:42px;padding:10px 15px}
.btn.ghost{background:#fff!important;color:#315d74!important;border:1px solid var(--nl-line)!important}
.btn.green{background:linear-gradient(135deg,#4fa98f,#73c8af)!important;border:0!important;color:#fff!important}
.btn.danger,.danger-btn{background:#fff0f2!important;color:#b83f50!important;border:1px solid #f2cbd1!important}
.badge,.pill,.chip,.tag,.status-badge{border-radius:999px!important;padding:5px 10px!important;font-weight:800!important;border:1px solid rgba(211,232,242,.95)!important;background:#f5fbfe!important;color:#2a6f8b!important}
.success,.success-callout,.alert-success{background:#eefaf5!important;border-color:#cfeade!important;color:#28775e!important;border-radius:16px!important}
.warning,.alert-warning{background:#fff9ec!important;border-color:#f3dfae!important;color:#8b6824!important;border-radius:16px!important}
.error,.danger,.alert-danger{background:#fff1f3!important;border-color:#f0ccd2!important;color:#a64050!important;border-radius:16px!important}
.info,.alert-info{background:#eef8fd!important;border-color:#d4eaf5!important;color:#286f8d!important;border-radius:16px!important}
.table-wrap{border:1px solid var(--nl-line);border-radius:18px;background:#fff;overflow:auto!important;box-shadow:0 8px 22px rgba(43,95,128,.04)}
table{width:100%}
thead th{position:sticky;top:0;background:#f4fbfe!important;color:#385d72!important;font-size:12px;text-transform:none;letter-spacing:.01em;border-bottom:1px solid var(--nl-line)!important;z-index:1}
tbody tr{transition:background .15s ease,transform .15s ease}
tbody tr:hover{background:#f8fcfe!important}
td,th{border-color:#e8f1f6!important}
form{min-width:0}
label{font-weight:800;color:#35586d}
.form-group,.field,.input-group{margin-bottom:14px}
input,select,textarea{min-height:44px;color:#27495e}
textarea{min-height:110px;resize:vertical}
fieldset{border:1px solid var(--nl-line);border-radius:18px;padding:16px}
legend{padding:0 8px;color:#2a6984;font-weight:900}
.tabs,.tab-list,.nav-tabs,.segmented,.subnav,.secondary-nav{display:flex;gap:8px;overflow:auto;padding:5px;border:1px solid var(--nl-line);border-radius:16px;background:#f6fbfd}
.tabs a,.tab-list a,.nav-tabs a,.segmented a,.subnav a,.secondary-nav a,.tabs button,.tab-list button{
  flex:0 0 auto;border:0!important;border-radius:11px!important;padding:9px 12px!important;background:transparent!important;color:#527287!important;font-weight:800
}
.tabs .active,.tab-list .active,.nav-tabs .active,.segmented .active,.subnav .active,.secondary-nav .active,
.tabs a:hover,.tab-list a:hover,.nav-tabs a:hover{background:#fff!important;color:#1f6f8e!important;box-shadow:0 5px 14px rgba(37,91,124,.08)}
.nav-group{margin-bottom:10px}
.nav-label{font-size:11px;letter-spacing:.05em;color:#8aa0af!important;font-weight:900;padding:7px 11px}
.nav-link{min-height:42px;display:flex!important;align-items:center;gap:10px;padding:9px 11px!important;color:#46687b!important}
.nav-link:hover{background:#eef8fc!important;color:#236f8d!important;transform:translateX(-1px)}
.nav-more{border:1px solid #e0edf4;border-radius:15px;background:rgba(255,255,255,.7);overflow:hidden}
.nav-more summary{cursor:pointer;padding:10px 12px;color:#527082;font-weight:900}
.nav-more-grid{padding:5px 7px 8px}
.sidebar-brand,.brand-area,.app-brand{padding-block:10px}
.nl-mobile-dock{background:rgba(255,255,255,.95)!important;backdrop-filter:blur(18px) saturate(160%);border-top:1px solid var(--nl-line)!important;box-shadow:0 -12px 30px rgba(35,80,105,.08)!important}
.nl-mobile-dock a,.nl-mobile-dock button{border-radius:13px!important;color:#5b788a!important}
.nl-mobile-dock .active{color:#1f6f8e!important;background:#eaf8fc!important}
.nl-mobile-dock .dock-primary{background:linear-gradient(135deg,var(--nl-primary),var(--nl-primary-2))!important;color:#fff!important;box-shadow:0 8px 20px rgba(42,127,168,.22)!important}
.breadcrumb,.breadcrumbs{display:flex;gap:6px;flex-wrap:wrap;color:#7d94a3;font-size:13px;margin-bottom:10px}
.pagination{display:flex;gap:6px;flex-wrap:wrap}
.pagination a,.pagination span{min-width:38px;height:38px;display:grid;place-items:center;border-radius:11px;border:1px solid var(--nl-line);background:#fff}
.pagination .active{background:#eaf7fb;color:#1f6f8d;font-weight:900}
.modal,.dialog,.drawer,.sheet{border-radius:24px!important;border:1px solid var(--nl-line)!important;background:#fff!important;box-shadow:0 28px 80px rgba(23,65,90,.18)!important}
.modal-header,.drawer-header{border-bottom:1px solid #e7f0f5}
.modal-footer,.drawer-footer{border-top:1px solid #e7f0f5}
.empty-state,.empty,.no-data{padding:28px;text-align:center;border:1px dashed #cfe3ed;border-radius:20px;background:linear-gradient(145deg,#fbfeff,#f4fbfd);color:#6c8798}
.skeleton{border-radius:12px;background:linear-gradient(90deg,#edf5f8 25%,#f8fbfc 37%,#edf5f8 63%);background-size:400% 100%;animation:nlSkeleton 1.35s ease infinite}
@keyframes nlSkeleton{0%{background-position:100% 0}100%{background-position:0 0}}
.toolbar,.filters,.filter-bar,.action-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid var(--nl-line);border-radius:16px;background:#fbfdfe}
.toolbar input,.filters input,.filter-bar input{margin:0}
.search-box,.global-search{border-radius:14px!important;background:#f8fcfe!important}
.progress{height:9px;border-radius:999px;background:#e7f2f6;overflow:hidden}.progress>span,.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--nl-primary),var(--nl-primary-2),var(--nl-mint))}
.kpi-positive{color:#31866c}.kpi-negative{color:#b84e5b}
hr{border:0;border-top:1px solid #e4eef3;margin:18px 0}
code{border-radius:8px;background:#f0f7fa;color:#285c73;padding:2px 6px}
details>summary{user-select:none}
@media(max-width:760px){
  .section-head,.page-head{padding:15px;border-radius:18px}
  .card,.panel,.content-card,.metric-card{border-radius:18px!important}
  .grid.two,.grid.three,.grid.four{grid-template-columns:1fr!important}
  .quick-actions-grid .btn{flex:1 1 calc(50% - 8px)}
  .table-wrap{border-radius:14px}
  table.responsive-table thead{display:none}
  table.responsive-table,table.responsive-table tbody,table.responsive-table tr,table.responsive-table td{display:block;width:100%}
  table.responsive-table tr{padding:12px;border-bottom:1px solid var(--nl-line)}
  table.responsive-table td{border:0!important;padding:5px 0!important}
}
@media(max-width:480px){
  .quick-actions-grid .btn{flex-basis:100%}
  .btn,.button,button{width:auto}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
