:root{--os-bg:#05070b;--os-panel:rgba(15,20,29,.78);--os-line:rgba(255,255,255,.09);--os-text:#f7f9fc;--os-muted:#8f9bad;--os-accent:#7cf0cf;--os-blue:#78a7ff;--os-violet:#a47bff;--os-radius:22px}html{background:var(--os-bg)}body{letter-spacing:-.01em;background:radial-gradient(900px 520px at 78% -10%,rgba(120,167,255,.16),transparent 62%),radial-gradient(700px 480px at -8% 35%,rgba(124,240,207,.08),transparent 65%),#05070b!important}body:before{opacity:.06!important;background-size:56px 56px!important}.side,.sidebar{backdrop-filter:blur(22px);background:rgba(7,10,15,.88)!important;border-right:1px solid var(--os-line)!important}.brand{font-weight:850!important;letter-spacing:-.045em!important;color:#fff!important;background:none!important}.brand:before{content:'N';display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;border-radius:11px;background:linear-gradient(145deg,var(--os-accent),var(--os-blue));color:#07100e;font-size:16px;box-shadow:0 10px 28px rgba(124,240,207,.13)}.nav{border:1px solid transparent!important;background:transparent!important;color:#9da9ba!important;transition:.18s ease!important}.nav:hover,.nav.active{color:#fff!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.07)!important}.panel,.card,.stat,.hero-card,.metric,.portal-card,dialog{background:linear-gradient(145deg,rgba(18,24,34,.88),rgba(9,13,20,.88))!important;border:1px solid var(--os-line)!important;border-radius:var(--os-radius)!important;box-shadow:0 18px 50px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.045)!important}.card{transition:transform .2s ease,border-color .2s ease,background .2s ease!important}.card:hover{transform:translateY(-3px)!important;border-color:rgba(124,240,207,.22)!important;background:linear-gradient(145deg,rgba(22,29,40,.94),rgba(10,15,22,.94))!important}.eyebrow{color:var(--os-accent)!important;letter-spacing:.16em!important}.muted,.sub{color:var(--os-muted)!important}.primary,.button,.btn-primary,button[type=submit],.send{background:linear-gradient(120deg,#6d9dff,#8c75ff)!important;border:0!important;border-radius:13px!important;box-shadow:0 10px 30px rgba(109,157,255,.18)!important}.ghost{background:rgba(255,255,255,.035)!important;border:1px solid var(--os-line)!important}.hero{background:radial-gradient(700px 240px at 95% 0,rgba(124,240,207,.08),transparent 60%),linear-gradient(145deg,rgba(17,23,33,.92),rgba(8,12,18,.92))!important;border:1px solid var(--os-line)!important;box-shadow:0 30px 70px rgba(0,0,0,.18)!important}input,select,textarea{border-radius:12px!important;background:rgba(4,7,11,.7)!important;border:1px solid rgba(255,255,255,.1)!important}input:focus,select:focus,textarea:focus{border-color:rgba(124,240,207,.6)!important;box-shadow:0 0 0 3px rgba(124,240,207,.08)!important}.status{color:var(--os-accent)!important}.pill{border-radius:13px!important;background:#f4f7fb!important;color:#0b1017!important}.icon{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.07)!important;box-shadow:none!important}h1,h2,h3{letter-spacing:-.035em}table{border-collapse:separate;border-spacing:0}table th{color:#8f9bad;text-transform:uppercase;font-size:11px;letter-spacing:.08em}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#253040;border:3px solid #080b10;border-radius:20px}@media(max-width:720px){.brand:before{width:30px;height:30px}}

/* NutriOS Premium v2 — unified product system */
:root{
  --os-bg:#07090d;--os-bg-soft:#0a0e14;--os-surface:#0f141d;--os-surface-2:#121925;
  --os-line:rgba(255,255,255,.075);--os-line-strong:rgba(255,255,255,.13);
  --os-text:#f6f8fb;--os-muted:#909caf;--os-soft:#c5ceda;
  --os-mint:#7ee4cb;--os-blue:#7ca8ff;--os-violet:#9c88ff;--os-warning:#f5bd73;--os-danger:#ff8797;
  --os-radius-sm:12px;--os-radius:18px;--os-radius-lg:26px;
  --os-shadow:0 24px 70px rgba(0,0,0,.28);
}
body{min-height:100vh;background:
  radial-gradient(950px 520px at 92% -8%,rgba(88,128,255,.13),transparent 64%),
  radial-gradient(700px 470px at 0 35%,rgba(89,220,190,.07),transparent 66%),
  linear-gradient(180deg,#07090d 0%,#090d13 100%)!important;color:var(--os-text)!important}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 72%)}

/* app shell */
.shell{grid-template-columns:244px minmax(0,1fr)!important}.side,.sidebar{padding:24px 14px!important;background:rgba(7,9,13,.86)!important;box-shadow:24px 0 70px rgba(0,0,0,.15)}
.brand{display:flex!important;align-items:center!important;min-height:42px;margin:2px 10px 30px!important;font-size:21px!important}
.brand:after{content:'OS';margin-left:1px;color:var(--os-muted);font-size:11px;letter-spacing:.08em;font-weight:800}
.nav{min-height:44px;padding:11px 12px!important;margin:3px 0!important;border-radius:12px!important;font-size:13px!important;font-weight:650!important}
.nav.active{box-shadow:inset 3px 0 0 var(--os-mint)!important}
.main{width:100%;max-width:1540px;margin:0 auto;padding:34px 38px 64px!important}.top{min-height:64px}.top h1{font-size:clamp(28px,3.2vw,42px)!important;letter-spacing:-.05em!important}.logout{border:1px solid var(--os-line)!important;background:rgba(255,255,255,.035)!important;color:var(--os-soft)!important;border-radius:12px!important;padding:10px 14px!important}

/* hero */
.hero{position:relative;overflow:hidden;margin:28px 0 32px!important;padding:34px!important;border-radius:28px!important;background:linear-gradient(135deg,rgba(18,25,37,.96),rgba(10,14,21,.96))!important}
.hero:after{content:'N';position:absolute;right:34px;top:50%;transform:translateY(-50%);font-size:170px;line-height:1;font-weight:950;letter-spacing:-.12em;color:rgba(255,255,255,.025);pointer-events:none}.hero h2{max-width:780px;font-size:clamp(27px,3vw,42px)!important;line-height:1.02;letter-spacing:-.055em!important}.hero p{max-width:760px!important;font-size:15px;line-height:1.7!important;color:var(--os-soft)!important}.pill{position:relative;z-index:2;padding:12px 16px!important;background:#f7f9fc!important;color:#0c1118!important;border:0!important;box-shadow:0 12px 35px rgba(0,0,0,.2)}

/* module cards */
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:34px 0 16px!important}.section-title h2{font-size:20px!important}.section-title .muted{font-size:12px}.grid{gap:12px!important}.card{min-height:176px!important;padding:22px!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(16,22,31,.94),rgba(10,14,20,.94))!important}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 55%,rgba(255,255,255,.018));pointer-events:none}.card .icon{width:40px!important;height:40px!important;border-radius:12px!important;font-size:17px!important;color:#dce8ff!important}.card h3{font-size:17px!important}.card p{font-size:13px;line-height:1.55;color:var(--os-muted)!important}.live-card{border-color:rgba(126,228,203,.18)!important}.live-card .icon{color:var(--os-mint)!important;background:rgba(126,228,203,.075)!important}

/* tables + dense admin pages */
.stats{gap:11px!important}.stat{padding:18px!important;border-radius:18px!important}.stat b{letter-spacing:-.04em}.panel{overflow:hidden}.panel-head{padding:20px 22px!important;border-bottom:1px solid var(--os-line)}.table-wrap,.table{background:rgba(0,0,0,.08)}table{width:100%}th{padding:12px 15px!important;background:rgba(255,255,255,.018);border-color:var(--os-line)!important}td{padding:14px 15px!important;border-color:var(--os-line)!important}tbody tr{transition:.16s ease}tbody tr:hover{background:rgba(255,255,255,.022)}.badge{border-radius:999px!important;font-size:11px!important;font-weight:760!important}.actions button,.actions .button{border-radius:10px!important}

/* dialogs + forms */
dialog{padding:0!important;overflow:hidden!important;max-height:min(88vh,900px);box-shadow:0 40px 120px rgba(0,0,0,.6)!important}.modal{padding:26px!important}.modal h2{margin-top:0}.modal-actions{padding-top:16px;border-top:1px solid var(--os-line)}label{font-size:12px!important;font-weight:650;color:#b7c1cf!important}input,select,textarea{min-height:43px;padding:10px 12px!important;color:#f7f9fc!important}textarea{line-height:1.55}.primary,.button,button[type=submit],.send{font-weight:760!important;transition:transform .16s ease,filter .16s ease!important}.primary:hover,.button:hover,button[type=submit]:hover{transform:translateY(-1px);filter:brightness(1.05)}

/* clinical dashboard */
.clinical-wrap{width:min(1480px,calc(100% - 56px))!important}.clinical-header{padding:8px 0 6px}.clinical-header h1{font-size:clamp(34px,4vw,52px)!important}.clinical-header p{max-width:760px}.journey{padding:15px 17px!important;border-radius:18px!important;background:linear-gradient(120deg,rgba(124,168,255,.08),rgba(126,228,203,.035))!important}.journey div span{background:rgba(124,168,255,.11)!important;color:#a8c6ff!important}.clinical-metrics article{padding:18px!important;border-radius:17px!important;background:linear-gradient(145deg,rgba(17,23,33,.96),rgba(10,14,20,.96))!important}.clinical-metrics strong{font-size:25px!important}.clinical-card{border-radius:21px!important}.clinical-row,.clinical-account{background:rgba(255,255,255,.018)!important;border-color:var(--os-line)!important}.clinical-row:hover,.clinical-account:hover{background:rgba(255,255,255,.035)!important;border-color:rgba(126,228,203,.16)!important}.clinical-avatar{background:linear-gradient(145deg,rgba(124,168,255,.5),rgba(126,228,203,.44))!important}.clinical-empty{background:rgba(255,255,255,.012);padding:34px!important;color:#7f8b9d!important}

/* patient record */
.record-appbar{background:rgba(7,9,13,.82)!important;backdrop-filter:blur(24px)!important;border-bottom:1px solid var(--os-line)!important}.record-brand{color:#fff!important}.brand-mark{background:linear-gradient(145deg,var(--os-mint),var(--os-blue))!important;color:#07100e!important}.patient-hero{padding-top:30px!important}.patient-avatar{background:linear-gradient(145deg,#273754,#1d5148)!important;box-shadow:inset 0 1px rgba(255,255,255,.1)}.record-metrics article,.panel{background:linear-gradient(145deg,rgba(17,23,33,.93),rgba(9,13,19,.93))!important}.record-tabs{background:rgba(9,12,18,.88)!important;backdrop-filter:blur(20px)!important;border-color:var(--os-line)!important}.record-tabs .tab{border-radius:10px!important}.record-tabs .tab.on{background:rgba(126,228,203,.08)!important;color:#eafff9!important;border-color:rgba(126,228,203,.18)!important}.panel-title h3{letter-spacing:-.025em}

/* patient portal */
body:has(.page) .page{max-width:1160px!important;padding:26px!important}.page .top{padding:4px 0 22px!important}.identity .logo{width:46px!important;height:46px!important;border-radius:14px!important;background:linear-gradient(145deg,var(--os-mint),var(--os-blue))!important;color:#08110f!important;box-shadow:0 14px 35px rgba(0,0,0,.23)}.summary{gap:11px!important}.mini{padding:15px 16px!important;background:linear-gradient(145deg,rgba(16,22,31,.94),rgba(10,14,20,.94))!important;border-color:var(--os-line)!important}.mini b{font-size:15px}.page .tabs{padding:5px;width:max-content;max-width:100%;border:1px solid var(--os-line);border-radius:14px;background:rgba(255,255,255,.025);overflow:auto}.page .tab{border:0!important;background:transparent!important;color:var(--os-muted)!important}.page .tab.on{background:rgba(255,255,255,.075)!important;color:#fff!important}.chat{height:min(650px,70vh)!important;border-color:var(--os-line)!important;background:linear-gradient(145deg,rgba(13,18,27,.96),rgba(8,12,18,.96))!important;box-shadow:var(--os-shadow)}.chat-head{border-color:var(--os-line)!important;color:var(--os-soft)}.messages{background:radial-gradient(550px 330px at 20% 15%,rgba(124,168,255,.045),transparent 70%)}.bubble{line-height:1.58!important}.bot{background:rgba(255,255,255,.045)!important;border-color:var(--os-line)!important}.user{background:linear-gradient(135deg,#628ff1,#7a67d8)!important}.composer{background:rgba(7,10,15,.75);border-color:var(--os-line)!important}.composer input{margin-top:0!important}.notice{margin-top:14px!important;color:#727f91!important}

/* empty states / small utility */
.muted,.sub{color:var(--os-muted)!important}.eyebrow{font-size:10px!important;font-weight:800!important}.status{font-size:12px}.status-chip{border-radius:999px!important}.back-link,.back{color:#a9b9d0!important}.toast{border-radius:13px!important;box-shadow:0 20px 55px rgba(0,0,0,.35)!important}

@media(max-width:1000px){.shell{grid-template-columns:210px minmax(0,1fr)!important}.main{padding:28px 26px 50px!important}.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.shell{display:block!important}.side,.sidebar{display:none!important}.main{padding:20px 16px 42px!important}.hero{padding:24px!important}.hero:after{font-size:120px;right:8px}.section-title{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr!important}.clinical-wrap{width:min(100% - 26px,1480px)!important}body:has(.page) .page{padding:14px!important}.page .tabs{width:100%}.chat{height:68vh!important}}
