/* Lucerne House Digital Care — design layer.
   Loaded last. Overrides the earlier LIFE pastel layers with one consistent system:
   petrol + sun-gold brand (from the logo), warm paper background, readable type,
   a left sidebar on desktop and a bottom tab bar on phones/tablets (and the Android app). */

:root{
 --lh-font:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,"Roboto","Helvetica Neue",Arial,sans-serif;
 --lh-display:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,"Roboto","Helvetica Neue",Arial,sans-serif;
 --lh-ink:#14232e;--lh-ink-2:#3a4a57;--lh-muted:#667784;--lh-faint:#8b98a3;
 --lh-bg:#f5f5f1;--lh-surface:#fff;--lh-surface-2:#f9f9f6;--lh-line:#e6e5df;--lh-line-2:#d9d8d0;
 --lh-brand:#174d64;--lh-brand-600:#123f53;--lh-brand-700:#0d2f3e;--lh-brand-50:#e8f1f4;--lh-brand-100:#d3e4ea;
 --lh-sun:#f4c76a;--lh-sun-50:#fdf5e2;
 --lh-radius:16px;--lh-radius-sm:10px;
 --lh-shadow:0 1px 2px rgba(20,35,46,.04),0 2px 8px rgba(20,35,46,.05);
 --lh-shadow-lg:0 10px 30px rgba(20,35,46,.10),0 2px 6px rgba(20,35,46,.05);
 --lh-side:252px;--lh-rail:304px;--lh-top:60px;--lh-tabbar:64px;
 --lh-safe-b:env(safe-area-inset-bottom,0px);--lh-safe-t:env(safe-area-inset-top,0px);
 /* tokens consumed by the compiled frontend */
 --primary:#174d64!important;--primary-foreground:#fff!important;--ring:#7fb0c2!important;--background:#f5f5f1!important;--foreground:#14232e!important;--border:#e6e5df!important;--accent:#e8f1f4!important;--accent-foreground:#174d64!important;--muted:#f2f2ee!important;--muted-foreground:#667784!important;--sidebar:#0f3445!important;--sidebar-foreground:#e7f0f3!important;--sidebar-accent:#174d64!important;--sidebar-primary:#f4c76a!important;--font-sans:var(--lh-font);--font-heading:var(--lh-display);
 color-scheme:light;
}

/* ---------- Base ---------- */
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
body{background:var(--lh-bg)!important;color:var(--lh-ink)!important;padding-top:0!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body *:not(#lh-none):not(code):not(pre):not(kbd):not(samp){font-family:var(--lh-font)!important}
body :is(h1,h2,.life-section-label):not(#lh-none){font-family:var(--lh-display)!important}
::selection{background:#cfe3ea}
body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #7fb0c2!important;outline-offset:2px!important}
body:has(.astra-manager)::before,body:has(.staff-app)::before{display:none!important}
#life-demo-bar{display:none!important}

/* Scrollbars */
*{scrollbar-width:thin;scrollbar-color:#cfd2c8 transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d3d5cc;border-radius:10px;border:2px solid transparent;background-clip:padding-box}

/* ---------- Shell: sidebar (desktop) ---------- */
#lucent-brand-bar.lh-shell{position:fixed;inset:0 auto 0 0;width:var(--lh-side);height:100dvh;z-index:40;display:flex;flex-direction:column;gap:0;padding:18px 14px 14px;margin:0;border:0;
 background:radial-gradient(120% 60% at 0% 0%,#1d5f7a 0%,transparent 60%),linear-gradient(180deg,#123f53 0%,#0d2f3e 100%);color:#e7f0f3;font:14px/1.4 var(--lh-font);box-shadow:inset -1px 0 0 rgba(255,255,255,.06)}
#lucent-brand-bar .lh-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 18px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}
#lucent-brand-bar .lh-brand img{width:40px!important;height:40px!important;min-width:40px!important;border-radius:11px!important;padding:0!important;background:transparent!important;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 4px 12px rgba(0,0,0,.25)}
#lucent-brand-bar .lh-brand strong{display:block;font:650 16px/1.15 var(--lh-display);letter-spacing:-.01em;white-space:nowrap}
#lucent-brand-bar .lh-brand small{display:block;margin-top:3px;font-size:12px;color:var(--lh-sun);letter-spacing:.02em}
#lucent-brand-bar .lh-menu-toggle{display:none}
#lucent-brand-bar .lh-shell-menu{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
#lucent-brand-bar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
#lucent-brand-bar .lh-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:rgba(0,0,0,.18);border-radius:12px;margin-bottom:4px}
#lucent-brand-bar .lh-switch a{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:9px;color:#bcd2da;text-decoration:none;font-size:12.5px;font-weight:600}
#lucent-brand-bar .lh-switch a svg{width:15px;height:15px}
#lucent-brand-bar .lh-switch a:hover{color:#fff;background:rgba(255,255,255,.06)}
#lucent-brand-bar .lh-switch a[aria-current=page]{background:#fff;color:var(--lh-brand);box-shadow:0 1px 3px rgba(0,0,0,.2)}
#lucent-brand-bar .lh-link{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:#c9dbe1;text-decoration:none;font:500 13.5px var(--lh-font);text-align:left;cursor:pointer}
#lucent-brand-bar .lh-link:hover{background:rgba(255,255,255,.07);color:#fff}
#lucent-brand-bar .lh-link[hidden],#lucent-brand-bar .lh-user[hidden]{display:none}
#lucent-brand-bar .lh-user{display:flex;align-items:center;gap:10px;margin-top:6px;padding:10px;border-radius:12px;background:rgba(255,255,255,.06)}
#lucent-brand-bar .lh-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--lh-sun);color:#3d2c06;font:700 13px var(--lh-font)}
#lucent-brand-bar .lh-user-text{min-width:0;flex:1}
#lucent-brand-bar .lh-user-text strong{display:block;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lucent-brand-bar .lh-user-text small{display:block;font-size:11.5px;color:#9fbcc6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lucent-brand-bar .lh-signout{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#c9dbe1;cursor:pointer}
#lucent-brand-bar .lh-signout:hover{background:rgba(255,255,255,.1);color:#fff}

/* The compiled floating "My password" button is offered from the shell menu inside the app. */
body.lh-app .lh-floating-password{display:none!important}

/* ---------- Workspace frame ---------- */
body.lh-app{padding-left:var(--lh-side)!important}
body.lh-app .astra-manager,body.lh-app .staff-app{background:var(--lh-bg)!important;color:var(--lh-ink)!important;min-height:100dvh;padding-bottom:32px!important}
body.lh-app .astra-masthead{display:none!important}
body.lh-app .page,body.lh-app .astra-manager .page,body.lh-app .astra-manager[data-section=Dashboard] .page{max-width:1480px!important;margin:0 auto!important;padding:28px calc(var(--lh-rail) + 40px) 40px 32px!important}
body.lh-app .staff-main{max-width:1480px!important;margin:0 auto!important;padding:28px calc(var(--lh-rail) + 40px) 40px 32px!important}

/* Primary navigation (manager dock + staff nav) becomes the sidebar list */
body.lh-app :is(.astra-manager-dock,.staff-bottom){position:fixed!important;top:84px!important;left:0!important;right:auto!important;bottom:auto!important;width:var(--lh-side)!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 84px - 220px)!important;transform:none!important;margin:0!important;padding:10px 14px!important;
 display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:2px!important;overflow-y:auto!important;overflow-x:hidden!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;z-index:41!important;grid-template-columns:none!important}
body.lh-app :is(.astra-manager-dock,.staff-bottom) button{position:relative!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:42px!important;padding:0 12px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#c9dbe1!important;font-size:14px!important;font-weight:500!important;text-align:left!important;box-shadow:none!important;cursor:pointer;transition:background .15s,color .15s}
body.lh-app :is(.astra-manager-dock,.staff-bottom) button svg{display:block!important;width:19px!important;height:19px!important;flex:0 0 19px!important;stroke-width:1.9!important;opacity:.9}
body.lh-app :is(.astra-manager-dock,.staff-bottom) button span{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.lh-app :is(.astra-manager-dock,.staff-bottom) button:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
body.lh-app :is(.astra-manager-dock,.staff-bottom) button[aria-current=page]{background:rgba(255,255,255,.12)!important;color:#fff!important;font-weight:600!important}
body.lh-app :is(.astra-manager-dock,.staff-bottom) button[aria-current=page]::before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--lh-sun)}
body.lh-app .astra-manager-dock>button:last-child{position:relative!important;right:auto!important;margin-top:8px!important;border:1px dashed rgba(255,255,255,.18)!important;background:transparent!important;color:#e7f0f3!important;box-shadow:none!important;font-weight:500!important}
body.lh-app .astra-manager-dock>button:last-child:hover{background:rgba(255,255,255,.07)!important}

/* Right rail: Calendar / Messages / Profile + quick actions */
body.lh-app .life-quick-panel{position:fixed!important;top:20px!important;right:20px!important;bottom:20px!important;left:auto!important;width:var(--lh-rail)!important;max-height:none!important;margin:0!important;z-index:30!important;overflow-y:auto!important;overscroll-behavior:contain;background:var(--lh-surface)!important;border:1px solid var(--lh-line)!important;border-radius:20px!important;box-shadow:var(--lh-shadow)!important;font:14px/1.5 var(--lh-font)!important;color:var(--lh-ink)!important}
body.lh-app .life-quick-panel[data-collapsed=true]{bottom:auto!important}
.life-quick-panel .life-side-tabs{position:sticky;top:0;z-index:2;display:flex;gap:4px;margin:12px 12px 0;padding:4px!important;background:#f1f1ec!important;border:0!important;border-radius:12px}
.life-side-tabs button{flex:1;min-height:34px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--lh-muted)!important;font-size:13px!important;font-weight:600!important;cursor:pointer}
.life-side-tabs button:hover{color:var(--lh-ink)!important}
.life-side-tabs button[aria-selected=true]{background:#fff!important;color:var(--lh-brand)!important;box-shadow:0 1px 3px rgba(20,35,46,.12)!important}
.life-action-block{padding:14px 14px 16px!important;border-bottom:1px solid var(--lh-line)!important;background:transparent!important}
.life-action-links{gap:8px!important}
.life-action-links button{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px!important;font:600 13px var(--lh-font)!important;border:1px solid transparent!important;transition:transform .12s,box-shadow .12s}
.life-action-links button:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(20,35,46,.08)}
.life-action-links button:nth-child(1){background:var(--lh-brand)!important;color:#fff!important}
.life-action-links button:nth-child(2){background:#fdf3dc!important;color:#7a5408!important;border-color:#f3dfae!important}
.life-action-links button:nth-child(3){background:#fdecec!important;color:#a32b2b!important;border-color:#f6d0d0!important}
.life-action-links button:nth-child(4){background:var(--lh-brand-50)!important;color:var(--lh-brand)!important;border-color:var(--lh-brand-100)!important}
.life-compliance-counter{display:flex!important;align-items:center;justify-content:space-between;margin-top:10px!important;padding:10px 12px!important;border-radius:12px!important;background:var(--lh-surface-2)!important;border:1px solid var(--lh-line)!important;color:var(--lh-muted)!important;font:12.5px var(--lh-font)!important}
.life-compliance-counter strong{color:var(--lh-ink);font-size:13px}
.life-side-body{padding:16px!important}
.life-side h3{font:650 13.5px var(--lh-font)!important;color:var(--lh-ink)!important;margin:20px 0 10px!important}
.life-month strong{font:650 15px var(--lh-display)!important;color:var(--lh-ink)}
.life-month button{border-radius:8px!important;color:var(--lh-muted)!important;width:30px!important;height:30px!important;font-size:18px!important}
.life-month button:hover{background:#f1f1ec!important}
.life-week{gap:3px!important}
.life-week button{min-height:54px!important;border-radius:12px!important;color:var(--lh-ink)!important;cursor:pointer}
.life-week button small{font-size:11px!important;color:var(--lh-faint)}
.life-week button strong{font-size:15px!important}
.life-week button:hover{background:#f1f1ec!important}
.life-week button[aria-pressed=true]{background:var(--lh-brand)!important;color:#fff!important;box-shadow:0 4px 10px rgba(23,77,100,.28)!important}
.life-week button[aria-pressed=true] small{color:#cfe3ea!important}
.life-initials{width:56px!important;height:56px!important;border-radius:16px!important;background:var(--lh-sun-50)!important;color:#7a5408!important;font:700 19px var(--lh-font)!important}

/* ---------- Typography & page headings ---------- */
body.lh-app .page-heading{margin-bottom:24px!important;align-items:flex-end!important;gap:16px!important}
body.lh-app .page-heading h1{font:700 30px/1.15 var(--lh-display)!important;letter-spacing:-.02em!important;color:var(--lh-ink)!important}
body.lh-app :is(.page-heading p,.eyebrow,.muted){color:var(--lh-muted)!important}
body.lh-app .eyebrow{font-size:12px!important;letter-spacing:.12em!important;font-weight:600!important;text-transform:uppercase}
.life-section-label{font:650 17px/1.3 var(--lh-display)!important;color:var(--lh-ink)!important;margin:6px 2px 14px!important;letter-spacing:-.01em!important}
.life-dashboard-main>.life-section-label:not(:first-child){margin-top:30px!important}

/* ---------- Buttons & form controls ---------- */
body .primary,body :is(.ezy-doc-button.ezy-doc-primary,.ezy-locker-button.ezy-locker-primary,.ezy-native-button.ezy-native-primary,.ezy-emar-button.primary,.ezy-ov .ezy-ov-button.ezy-ov-primary,.astra-evidence-actions button:first-child,.mar-primary,.ezy-daily-primary,.ezy-daily-button.ezy-daily-primary){background:var(--lh-brand)!important;border:1px solid var(--lh-brand)!important;color:#fff!important;border-radius:11px!important;font-weight:600!important;box-shadow:0 1px 2px rgba(13,47,62,.2)!important;transition:background .15s,transform .12s}
body .primary:hover:not(:disabled){background:var(--lh-brand-600)!important}
body .primary:disabled{opacity:.55}
body .secondary,body :is(.astra-launcher-grid button,.ezy-doc-button,.ezy-locker-button,.ezy-native-button,.ezy-access-link,.ezy-emar-button,.ezy-ov .ezy-ov-button,.astra-evidence-actions button,.ezy-daily-button,.ezy-daily-choice){background:#fff!important;color:var(--lh-ink-2)!important;border:1px solid var(--lh-line-2)!important;border-radius:11px!important;font-weight:500!important}
body .secondary:hover,body :is(.ezy-doc-button,.ezy-locker-button,.ezy-native-button,.ezy-emar-button,.ezy-daily-button):hover{background:var(--lh-surface-2)!important;border-color:#c8c7bd!important}
body .ezy-daily-choice[aria-pressed=true]{background:var(--lh-brand)!important;color:#fff!important;border-color:var(--lh-brand)!important}
body .page-heading :is(.primary,.secondary){min-height:44px;padding:0 18px!important;font-size:14px!important}
body :is(.text-button,.table-link){color:var(--lh-brand)!important;font-weight:600}
body :is(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]){background:#fff!important;color:var(--lh-ink)!important;border:1px solid var(--lh-line-2)!important;border-radius:10px!important;transition:border-color .15s,box-shadow .15s}
body :is(input,textarea,select):not([type=checkbox]):not([type=radio]):focus{border-color:var(--lh-brand)!important;box-shadow:0 0 0 4px rgba(23,77,100,.12)!important;outline:none!important}
body input::placeholder,body textarea::placeholder{color:#a3adb4!important}
body :is(input[type=checkbox],input[type=radio]){accent-color:var(--lh-brand)}
body .field>span,body label>span:first-child{color:var(--lh-ink-2)}

/* ---------- Surfaces ---------- */
body :is(.panel,.stat,.hub-metric,.record-card,.profile-card,.profile-document-panel,.profile-section,.staff-account,.staff-install,.staff-record,.staff-profile>details,.staff-people>button,.simple-mar,.life-training,.life-filter-results,.life-profile-hero,.life-progress-stats>div,.life-home-folder){background:var(--lh-surface)!important;color:var(--lh-ink)!important;border:1px solid var(--lh-line)!important;border-radius:var(--lh-radius)!important;box-shadow:var(--lh-shadow)!important}
body .astra-manager :is(.department-summary,.toolbar,.document-library-toolbar,.ezy-locker,.ezy-daily-panel,.ezy-ov-card,.ezy-ov-home-list,.astra-evidence-board,.astra-desk-results){background:var(--lh-surface)!important;color:var(--lh-ink)!important;border-color:var(--lh-line)!important;border-radius:var(--lh-radius)!important}
body :is(.ezy-daily-panel,.ezy-daily-dialog,.ezy-emar-card,.ezy-emar-dialog,.ezy-emar-quick-dialog,.ezy-ov-card,.ezy-ov-panel,.astra-launcher,.ezy-doc-dialog,.ezy-suggestion-dialog,.ezy-native-card,.ezy-access-settings){background:var(--lh-surface)!important;color:var(--lh-ink)!important;border-color:var(--lh-line)!important;border-radius:18px!important;box-shadow:var(--lh-shadow)!important}
body :is(.astra-launcher,.ezy-doc-dialog,.ezy-suggestion-dialog,.ezy-daily-dialog,.ezy-emar-dialog,.ezy-emar-quick-dialog){box-shadow:var(--lh-shadow-lg)!important}
body :is(.ezy-daily-heading,.ezy-daily-entry-heading,.ezy-daily-person-bar,.ezy-emar-header,.ezy-emar-card-heading,.ezy-emar-patient,.ezy-emar-toolbar,.ezy-ov-toolbar){background:var(--lh-surface-2)!important;color:var(--lh-ink-2)!important;border-color:var(--lh-line)!important}
body :is(.ezy-daily-entry,.ezy-daily-empty,.ezy-daily-category,.ezy-emar-stat,.ezy-emar-empty,.ezy-emar-quick-identity,.training-scroll,.ezy-doc-location,.ezy-doc-options,.ezy-doc-dialog-actions,.ezy-doc-list-heading,.ezy-doc-review-notes,.ezy-doc-editor,.ezy-doc-history-notes,.ezy-doc-drop,.ezy-emar-note,.ezy-emar-history-detail,.ezy-emar-quick-prescription,.ezy-native-tag,.ezy-native-connection,.ezy-field-tool,.ezy-original-text,.ezy-assistant-empty,.ezy-assistant-message,.ezy-locker-view-buttons,.ezy-locker-count,.ezy-locker-download,.ezy-locker-upload-results){background:var(--lh-surface-2)!important;color:var(--lh-ink-2)!important;border-color:var(--lh-line)!important}
body .astra-manager :is(.document-section-grid>article,.document-section-card,.astra-library-empty,.ezy-ov-home-item,.astra-desk-results>p:last-child,.ezy-locker-section,.ezy-locker .ezy-locker-section:not(.selected)){background:var(--lh-surface)!important;color:var(--lh-ink-2)!important;border:1px solid var(--lh-line)!important;border-radius:var(--lh-radius)!important;box-shadow:var(--lh-shadow)!important}
body .astra-manager :is(.document-section-grid>article,.document-section-card){transition:border-color .15s,box-shadow .15s,transform .15s}
body .astra-manager :is(.document-section-grid>article,.document-section-card):hover{border-color:var(--lh-brand-100)!important;box-shadow:var(--lh-shadow-lg)!important}
body .astra-manager :is(.ezy-locker-section.selected,.ezy-ov .ezy-ov-home-item.is-selected,.ezy-ov.ezy-ov-owner .ezy-ov-home-item.is-selected){background:var(--lh-brand-50)!important;color:var(--lh-brand)!important;border-color:var(--lh-brand-100)!important}
body .astra-manager :is(.astra-assurance-overview,.astra-desk-filter,.ezy-ov-stat,.ezy-ov-stats>div){background:var(--lh-brand-50)!important;color:var(--lh-brand)!important;border-color:var(--lh-brand-100)!important;border-radius:14px!important}
body :is(.astra-record-icon,.ezy-locker-main-icon,.ezy-doc-drop-icon,.ezy-doc-file-icon,.ezy-native-icon,.ezy-access-icon){background:var(--lh-brand-50)!important;color:var(--lh-brand)!important;border-radius:12px!important}
body :is(.ezy-doc-dialog,.ezy-emar,.ezy-native-card,.ezy-access-settings,.ezy-locker,.ezy-ov,.staff-app) :is(h2,h3,h4){color:var(--lh-ink)!important}
body :is(.ezy-daily-eyebrow,.ezy-emar-eyebrow,.ezy-emar-muted,.ezy-daily-context-note,.ezy-daily-heading p,.astra-evidence-board p,.astra-evidence-board>header span){color:var(--lh-muted)!important}
body .astra-evidence-number{color:var(--lh-brand)!important;opacity:.55}
body .desk-banner{background:linear-gradient(135deg,#174d64,#1f6481)!important;color:#fff!important;border:0!important;border-radius:var(--lh-radius)!important}
body .desk-banner :is(p,h2){color:#fff!important}
body .ca-profile-photo{background:var(--lh-sun-50)!important;color:#7a5408!important}
body .ezy-ov{--ov-ink:#14232e;--ov-muted:#667784;--ov-teal:#174d64;--ov-line:#e6e5df}
body :is(.ezy-daily-panel,.ezy-daily-dialog,.ezy-emar,.ezy-emar-dialog,.ezy-emar-quick-dialog,.ezy-ov){--primary:#174d64;--ov-teal:#174d64;color:var(--lh-ink)!important}

/* Oversight stat tiles */
body .astra-manager :is(.ezy-ov-stat,.ezy-ov-stats>div){background:#fff!important;color:var(--lh-ink)!important;border:1px solid var(--lh-line)!important;border-radius:var(--lh-radius)!important;box-shadow:var(--lh-shadow)!important}
body .astra-manager :is(.ezy-ov-stat,.ezy-ov-stats>div) :is(span,small,p,label){color:var(--lh-muted)!important;font-size:13px!important}
body .astra-manager :is(.ezy-ov-stat,.ezy-ov-stats>div) strong{color:var(--lh-brand)!important;font-family:var(--lh-display)!important}
body .astra-manager :is(.ezy-ov-stat,.ezy-ov-stats>div)>svg{color:var(--lh-sun)!important}
body .ezy-daily-panel button :is(strong,span){overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}
body input[type=file]{font-size:13px;color:var(--lh-muted);max-width:100%}
body input[type=file]::file-selector-button{margin-right:10px;padding:8px 14px;border:1px solid var(--lh-line-2);border-radius:10px;background:#fff;color:var(--lh-brand);font:600 13px var(--lh-font);cursor:pointer}

/* Password / account dialogs (styled here because their stylesheet loads only after sign-in) */
body .mar-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 6px}
body .mar-form>label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;color:var(--lh-ink-2)}
body .mar-form input{min-height:44px;padding:0 12px!important;font-size:14.5px!important;font-weight:400}
body .mar-wide{grid-column:1/-1}
body .mar-form footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
body .mar-form footer button{min-height:42px;padding:0 16px;border-radius:11px;border:1px solid var(--lh-line-2);background:#fff;color:var(--lh-ink-2);font-weight:600;cursor:pointer}
body .mar-form footer button.primary{border-color:var(--lh-brand)}
body [role=dialog]{border-radius:20px!important;border:1px solid var(--lh-line)!important;box-shadow:var(--lh-shadow-lg)!important}
@media (max-width:560px){body .mar-form{grid-template-columns:1fr}}

/* Tables */
body table{border-collapse:separate;border-spacing:0}
body th{background:var(--lh-surface-2)!important;color:var(--lh-muted)!important;font-size:12px!important;font-weight:600!important;border-bottom:1px solid var(--lh-line)!important}
body thead th{letter-spacing:.04em;text-transform:uppercase}
body tbody th{text-transform:none!important;letter-spacing:0!important;font-size:13.5px!important;color:var(--lh-ink)!important;background:#fff!important}
body td{border-color:#efeee9!important;color:var(--lh-ink-2)}
body tbody tr:hover td{background:#fbfbf8}
.life-training-table thead th{background:var(--lh-surface-2)!important;color:var(--lh-muted)!important}
.life-training-table tbody th{background:#fff!important;color:var(--lh-ink)!important;text-transform:none;letter-spacing:0;font-size:13px!important}
.life-training-table{font-size:13px!important}
.life-training-cell{font:12px var(--lh-font)!important;border-radius:8px}

/* Segmented tabs used across sections */
body :is(.ezy-daily-tabs,.ezy-emar-tabs,.staff-subnav,.hub-tabs,.tabs-row,.life-training-tabs){background:#ecebe5!important;border:0!important;border-radius:12px!important;padding:4px!important;gap:4px!important;display:flex;flex-wrap:wrap}
body :is(.ezy-daily-tabs,.ezy-emar-tabs,.staff-subnav,.hub-tabs,.tabs-row,.life-training-tabs) button{background:transparent!important;border:0!important;border-radius:9px!important;color:var(--lh-muted)!important;font-weight:600!important;font-size:13px!important;min-height:36px;padding:0 14px!important;box-shadow:none!important}
body :is(.ezy-daily-tabs,.ezy-emar-tabs,.staff-subnav,.hub-tabs,.tabs-row,.life-training-tabs) button:hover{color:var(--lh-ink)!important}
body :is(.ezy-daily-tabs,.ezy-emar-tabs,.staff-subnav,.hub-tabs,.tabs-row,.life-training-tabs) button:is(.active,.selected,[aria-selected=true],[aria-current=page]){background:#fff!important;color:var(--lh-brand)!important;box-shadow:0 1px 3px rgba(20,35,46,.12)!important}
body .astra-manager :is(.hub-tabs button,.astra-assurance-routes button,.astra-shift-desk .desk-tabs button){border-radius:10px!important}
body .astra-manager .astra-assurance-routes button{background:#fff!important;color:var(--lh-ink-2)!important;border:1px solid var(--lh-line)!important;box-shadow:var(--lh-shadow)!important;font-weight:600!important}
body .astra-manager .astra-assurance-routes button:hover{border-color:var(--lh-brand-100)!important;color:var(--lh-brand)!important}

/* Section sub-navigation (Admin, HR, Medication …): pinned above the page content */
body.lh-app .astra-manager{display:flex!important;flex-direction:column}
body.lh-app .astra-manager>.life-section-tabs{order:-1}
.life-section-tabs{position:sticky!important;top:12px!important;left:auto!important;right:auto!important;z-index:20!important;align-self:flex-start;margin:24px 0 0 max(32px,calc((100% - 1480px) / 2 + 32px))!important;max-width:calc(100% - var(--lh-rail) - 72px);padding:5px!important;min-height:0!important;gap:4px!important;background:rgba(236,235,229,.92)!important;-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border:1px solid rgba(255,255,255,.7)!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(20,35,46,.06)!important;overflow-x:auto!important;scrollbar-width:none}
body.lh-app .astra-manager:has(.life-section-tabs) .page{padding-top:20px!important}
.life-section-tabs>strong{font:700 11px var(--lh-font)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--lh-faint)!important;padding:0 10px 0 8px!important}
.life-section-tabs>button{background:transparent!important;color:var(--lh-muted)!important;font:600 13.5px var(--lh-font)!important;padding:9px 14px!important;border-radius:10px!important}
.life-section-tabs>button:hover{color:var(--lh-ink)!important}
.life-section-tabs>button[aria-current=page]{background:#fff!important;color:var(--lh-brand)!important;box-shadow:0 1px 3px rgba(20,35,46,.12)}

/* ---------- Dashboard (LIFE layout components) ---------- */
.life-dashboard{font:14px/1.5 var(--lh-font)!important;color:var(--lh-ink)!important}
.red{--tone-bg:#fdf0f0;--tone-border:#f4d2d2;--tone-text:#a32b2b;--tone-solid:#d64545}
.orange{--tone-bg:#fff4ea;--tone-border:#f6dcc2;--tone-text:#a14e0c;--tone-solid:#e07b24}
.yellow{--tone-bg:#fdf7e4;--tone-border:#f1e2b0;--tone-text:#7a5a08;--tone-solid:#e2b23a}
.blue{--tone-bg:#ebf3f6;--tone-border:#cfe0e7;--tone-text:#174d64;--tone-solid:#2a7393}
.purple{--tone-bg:#f3f0fb;--tone-border:#ddd5f2;--tone-text:#5b3fa6;--tone-solid:#7c5cd0}
.green{--tone-bg:#ecf7f0;--tone-border:#cbe9d6;--tone-text:#1d6b3d;--tone-solid:#2f9a5b}
.cyan{--tone-bg:#eaf6f7;--tone-border:#c7e6ea;--tone-text:#1b6670;--tone-solid:#2a9aa8}
.neutral{--tone-bg:#f6f6f2;--tone-border:#e6e5df;--tone-text:#3a4a57;--tone-solid:#8b98a3}

.life-dashboard-main{container-type:inline-size}
.life-compliance{gap:14px!important;margin-bottom:8px!important}
@container (max-width:900px){.life-compliance{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@container (max-width:520px){.life-compliance{grid-template-columns:repeat(2,minmax(0,1fr))!important}.life-status:last-child{grid-column:1/-1}}
.life-status{min-height:150px!important;padding:18px!important;border-radius:var(--lh-radius)!important;background:var(--lh-surface)!important;border:1px solid var(--lh-line)!important;color:var(--lh-ink)!important;box-shadow:var(--lh-shadow)!important;overflow:hidden;gap:8px!important;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}
.life-status::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--tone-solid,var(--tone-text))}
.life-status:hover{transform:translateY(-2px)!important;box-shadow:var(--lh-shadow-lg)!important;border-color:var(--tone-border)!important}
.life-status[aria-expanded=true]{outline:0!important;border-color:var(--tone-text)!important;box-shadow:0 0 0 3px var(--tone-bg),var(--lh-shadow-lg)!important}
.life-status>svg{width:34px!important;height:34px!important;padding:8px;border-radius:10px;background:var(--tone-bg);color:var(--tone-text);margin-bottom:4px}
.life-status>strong{font:650 14.5px/1.3 var(--lh-font)!important;color:var(--lh-ink)!important;hyphens:auto;-webkit-hyphens:auto;min-width:0}
.life-status>p{font-size:12.5px!important;line-height:1.5!important;color:var(--lh-muted)!important;max-width:none!important}
.life-count{top:16px!important;right:16px!important;width:auto!important;min-width:36px;height:30px!important;padding:0 10px;border-radius:999px!important;border:0!important;background:var(--tone-bg)!important;color:var(--tone-text)!important;font:700 15px var(--lh-font)!important;box-shadow:none!important}

.life-card-grid{gap:18px!important}
.life-card{background:var(--lh-surface)!important;border:1px solid var(--lh-line)!important;border-radius:18px!important;box-shadow:var(--lh-shadow)!important;padding:20px!important}
.life-card>header{gap:12px!important;margin-bottom:16px!important}
.life-card h2{font:650 16px/1.3 var(--lh-display)!important;color:var(--lh-ink)!important}
.life-card header p{font-size:12.5px!important;color:var(--lh-muted)!important;margin-top:2px!important}
.life-icon{width:40px!important;height:40px!important;border-radius:12px!important}
.life-dashboard .life-row,.life-row{min-height:44px!important;padding:10px 12px!important;margin:0 0 8px!important;border-radius:12px!important;font-size:13.5px!important;background:var(--tone-bg)!important;border:1px solid var(--tone-border)!important;color:var(--tone-text)!important;cursor:pointer;transition:transform .12s,box-shadow .12s}
.life-row:hover{filter:none!important;transform:translateX(2px);box-shadow:0 2px 6px rgba(20,35,46,.06)}
.life-row strong{font-size:13.5px!important;font-weight:600!important}
.life-row small{font-size:12px!important;opacity:.8}
.life-dashboard .life-row.plain,.life-row.plain{background:transparent!important;border:0!important;border-bottom:1px solid var(--lh-line)!important;border-radius:0!important;min-height:38px!important;padding:8px 2px!important;margin:0!important;color:var(--lh-ink-2)!important}
.life-row.plain strong{font-size:13.5px!important;font-weight:500!important}
.life-note{padding:12px 14px!important;border-radius:12px!important;font-size:13.5px!important;color:var(--lh-ink-2)!important}
.life-note strong{font-size:13.5px!important;font-weight:600!important}
.life-note p{font-size:13px!important;line-height:1.55!important;color:var(--lh-ink-2)}
.life-card-action,.life-dashboard .life-card-action{min-height:42px!important;margin-top:10px!important;border-radius:11px!important;font:600 13px var(--lh-font)!important;background:var(--lh-surface-2)!important;color:var(--lh-brand)!important;border:1px solid var(--lh-line)!important;cursor:pointer}
.life-card-action:hover{background:var(--lh-brand-50)!important;border-color:var(--lh-brand-100)!important;filter:none!important}
.life-card-action svg{width:15px!important;height:15px!important}
body .staff-main .life-dashboard .life-card-action,body .life-quick-panel .life-card-action{font:600 13px var(--lh-font)!important}
.life-empty{font-size:13px!important;color:var(--lh-muted)!important}
.life-filter-results{border-radius:18px!important;padding:20px!important;max-height:420px!important;margin-bottom:22px!important}
.life-filter-results h2{font:650 18px var(--lh-display)!important}
:is(.life-filter-results header button,.life-back,.life-folder-detail>header button,.life-training-filter button){background:var(--lh-brand-50)!important;color:var(--lh-brand)!important;border:0!important;border-radius:10px!important;padding:9px 14px!important;font:600 13px var(--lh-font)!important;cursor:pointer}
.life-text-button{font-size:13px!important;color:var(--lh-brand)!important}

/* Profile view */
.life-profile-hero{padding:28px!important;gap:20px!important;background:linear-gradient(135deg,#fff 0%,#fff 55%,var(--lh-brand-50) 100%)!important}
.life-profile-hero h1{font:700 28px var(--lh-display)!important;letter-spacing:-.02em}
.life-profile-hero .life-initials{width:72px!important;height:72px!important;font-size:24px!important;border-radius:20px!important}
.life-profile-fields{font-size:14px!important;grid-template-columns:140px minmax(0,1fr)!important}
.life-profile-fields dt{color:var(--lh-muted)!important}
.life-kicker{font-size:11.5px!important;letter-spacing:.14em!important;color:var(--lh-muted);text-transform:uppercase;font-weight:600}

/* Profile documents */
body .profile-document-section,body .profile-document-section:nth-child(n){background:var(--lh-surface)!important;border:1px solid var(--lh-line)!important;border-radius:var(--lh-radius)!important;box-shadow:var(--lh-shadow)!important}
body .profile-document-section::before{content:"";display:block;height:3px;width:36px;border-radius:3px;margin-bottom:14px;background:var(--lh-sun)}
body .profile-document-heading h2{font:650 16px var(--lh-display)!important}
body .profile-document-file{background:var(--lh-surface-2)!important;border-color:var(--lh-line)!important;border-radius:10px}

/* Home overview / folders */
.life-home{font:14px/1.55 var(--lh-font)!important;color:var(--lh-ink)!important}
.life-home-heading h1{font:700 30px/1.15 var(--lh-display)!important;letter-spacing:-.02em!important;color:var(--lh-ink)!important}
.life-home-heading p{color:var(--lh-muted)!important}
.life-home .life-card h2{font-size:17px!important}
.life-home-photo img{border-radius:14px!important}
.life-photo-empty{background:var(--lh-surface-2)!important;border:1.5px dashed var(--lh-line-2)!important;border-radius:14px!important}
.life-photo-upload{background:var(--lh-brand-50)!important;color:var(--lh-brand)!important;border-radius:12px!important}
.life-coverage-number{color:var(--lh-brand)!important;font-family:var(--lh-display)!important;font-weight:700}
.life-chart-legend li{font-size:13px!important}
.life-home-folders{gap:14px!important}
.life-home-folder{padding:20px!important;color:var(--lh-ink)!important;cursor:pointer;transition:transform .15s,box-shadow .15s}
.life-home-folder:hover{transform:translateY(-2px);box-shadow:var(--lh-shadow-lg)!important}
.life-home-folder[aria-expanded=true]{outline:0!important;border-color:var(--lh-brand)!important;box-shadow:0 0 0 3px var(--lh-brand-50),var(--lh-shadow)!important;background:#fff!important}
.life-home-folder>strong{font-size:15px!important}
.life-home-folder small{font-size:12.5px!important;color:var(--lh-muted)!important}
.life-home-status{border-radius:6px!important;font-size:12px!important;background:var(--lh-surface-2)!important}
.life-progress-stats strong{color:var(--lh-brand)!important;font-family:var(--lh-display)!important}
.life-training-heading h2{font:700 24px var(--lh-display)!important}
.life-training-stat{border-radius:14px!important;cursor:pointer}
.life-training-stat strong{font-family:var(--lh-display)!important}
.life-training-detail{background:var(--lh-brand-50)!important;border-color:var(--lh-brand-100)!important;border-radius:14px!important}

/* eMAR */
body .mar-residents button{background:#fff!important;border:1px solid var(--lh-line)!important;color:var(--lh-ink-2)!important;border-radius:12px!important}
body .mar-residents button[aria-pressed=true]{background:var(--lh-brand-50)!important;border-color:var(--lh-brand)!important;color:var(--lh-brand)!important}
body :is(.mar-top h2,.mar-chart-heading h3){color:var(--lh-ink)!important}
body :is(.ezy-doc-button.selected,.ezy-emar-tabs button.selected,.ezy-emar-tabs button.selected:hover){background:#fff!important;color:var(--lh-brand)!important}

/* Launcher ("All sections") */
body .astra-launcher{border-radius:22px!important;border:1px solid var(--lh-line)!important}
body .astra-launcher-grid button{border-radius:14px!important;background:var(--lh-surface-2)!important;border:1px solid var(--lh-line)!important;transition:border-color .15s,background .15s}
body .astra-launcher-grid button:hover{background:#fff!important;border-color:var(--lh-brand-100)!important}
body .astra-launcher-grid button svg{color:var(--lh-brand)!important}
body .astra-launcher-grid button strong{color:var(--lh-ink)!important}
body .astra-launcher-grid button small{color:var(--lh-muted)!important}
body.lh-app .astra-launcher{top:50%!important;left:calc(50% + var(--lh-side) / 2)!important;transform:translate(-50%,-50%)!important;max-height:calc(100dvh - 60px)!important}

/* Staff workspace specifics */
body.lh-app .staff-header{display:none!important}
body.lh-app .staff-connection{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px!important;padding:5px 12px 5px 10px;border-radius:999px;background:#fff;border:1px solid var(--lh-line);font-size:12px!important;color:var(--lh-muted)!important}
body.lh-app :is(.staff-title h1){font:700 28px var(--lh-display)!important;color:var(--lh-ink)!important;letter-spacing:-.02em}
body.lh-app :is(.staff-title p,.staff-eyebrow,.staff-search,.staff-caption){color:var(--lh-muted)!important}
body .staff-app :is(.staff-menu,.staff-menu button,.staff-empty,.staff-file-action){background:#fff!important;color:var(--lh-ink-2)!important;border-color:var(--lh-line)!important;border-radius:14px!important}
body .staff-app :is(.staff-back,.staff-section-heading button){color:var(--lh-brand)!important}
body .staff-app .staff-subnav button[aria-current=page]{color:var(--lh-brand)!important;background:#fff!important}
body :is(.staff-record small,.staff-people small,.staff-account>p,.staff-people>button small,.staff-menu button small){color:var(--lh-muted)!important}
body .staff-quick>button{background:#fff!important;border:1px solid var(--lh-line)!important;border-radius:16px!important;color:var(--lh-ink)!important}
body .staff-quick>button.staff-quick-primary{background:var(--lh-brand)!important;border-color:var(--lh-brand)!important;color:#fff!important}

/* ---------- Sign-in screen ---------- */
body.lh-auth #lucent-brand-bar{display:none!important}
body .ezy-auth{background:var(--lh-bg)!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;min-height:100dvh!important}
body .ezy-auth-intro{position:relative;overflow:hidden;color:#fff!important;padding:56px 9%!important;
 background:radial-gradient(circle at 82% 16%,#f4c76a 0 34px,rgba(244,199,106,.28) 35px,rgba(244,199,106,.10) 90px,transparent 190px),linear-gradient(180deg,#0f3445 0%,#174d64 55%,#1f6481 100%)!important}
body .ezy-auth-intro::after{content:"";position:absolute;inset:auto -5% 0 -5%;height:42%;pointer-events:none;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400' preserveAspectRatio='none'%3E%3Cpath d='M0 260 140 150l90 60 170-170 130 120 90-70 160 150 120-90 140 110 160-130v470H0Z' fill='%23ffffff' fill-opacity='.07'/%3E%3Cpath d='M0 320 200 210l120 70 160-120 150 110 140-80 170 120 260-150v240H0Z' fill='%23ffffff' fill-opacity='.08'/%3E%3Cpath d='M0 360c150-30 300-30 450 0s300 30 450 0 250-25 300-10v50H0Z' fill='%23f4c76a' fill-opacity='.18'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
body .ezy-auth-intro>*{position:relative;z-index:1}
body .ezy-auth-intro .ezy-wordmark{display:flex;align-items:center;gap:14px}
body .ezy-auth-intro .ezy-wordmark img{width:52px!important;height:52px!important;min-width:52px!important;padding:0!important;background:transparent!important;border-radius:14px!important;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 8px 24px rgba(0,0,0,.25)}
body .ezy-auth-intro .ezy-wordmark span{font:650 19px/1.2 var(--lh-display)!important;color:#fff}
body .ezy-auth-intro .ezy-wordmark small{display:block;margin-top:4px;font-size:11px!important;letter-spacing:.16em;color:var(--lh-sun)!important}
body .ezy-auth-intro .eyebrow{color:var(--lh-sun)!important;font-size:12px!important;letter-spacing:.18em!important;font-weight:600}
body .ezy-auth-intro h1{font:700 clamp(36px,4.2vw,56px)/1.08 var(--lh-display)!important;letter-spacing:-.03em!important;color:#fff!important;margin:18px 0 22px!important}
body .ezy-auth-intro p{color:#cfe1e8!important;font-size:17px!important;line-height:1.7!important}
body .ezy-auth-intro>small{color:#9fc0cc!important;font-size:12.5px!important}
body .ezy-auth-form{background:transparent!important;border:0!important;max-width:520px!important;width:100%;margin:auto!important;padding:48px 40px!important}
body .ezy-auth-form h2{font:700 32px var(--lh-display)!important;letter-spacing:-.02em!important;color:var(--lh-ink)!important;margin:22px 0 8px!important}
body .ezy-auth-form .muted{color:var(--lh-muted)!important;font-size:15px}
body .ezy-auth-form .local-badge{align-self:flex-start;width:fit-content;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#ecf7f0;color:#1d6b3d;font-size:12.5px;font-weight:600;border:1px solid #cbe9d6}
body .ezy-auth-form .local-badge span{width:8px;height:8px;border-radius:50%;background:#2f9a5b;box-shadow:0 0 0 3px rgba(47,154,91,.2)}
body .ezy-auth-form form{margin-top:26px!important;padding:26px;background:#fff;border:1px solid var(--lh-line);border-radius:20px;box-shadow:var(--lh-shadow)}
body .ezy-auth-form .field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px!important}
body .ezy-auth-form .field>span{font-size:13.5px;font-weight:600;color:var(--lh-ink-2)}
body .ezy-auth-form .field input{min-height:48px;padding:0 14px!important;font-size:15px!important}
body .ezy-auth-form .field small{color:var(--lh-faint);font-size:12.5px}
body .ezy-auth-form .ezy-remember-login{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--lh-ink-2)}
body .ezy-auth-form .ezy-remember-login small{display:block;color:var(--lh-faint);font-size:12.5px}
body .ezy-auth-form .primary{min-height:50px;font-size:15.5px!important;margin-top:16px!important}
body .ezy-auth-form .auth-footnote{color:var(--lh-faint);font-size:12.5px;margin-top:18px;text-align:center}
body.lh-auth .lh-floating-password:not(#lh-none){display:none!important}
.lh-auth-link{display:block;margin:14px auto 0;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--lh-brand);font:600 14px var(--lh-font);cursor:pointer;text-decoration:underline;text-decoration-color:var(--lh-brand-100);text-underline-offset:4px}
.lh-auth-link:hover{background:var(--lh-brand-50)}

/* ---------- Tablet: sidebar stays, rail joins the page flow ---------- */
@media (max-width:1279px){
 body.lh-app .life-quick-panel{position:relative!important;inset:auto!important;width:auto!important;margin:24px 32px 0!important;max-height:none!important}
 body.lh-app .astra-manager{display:flex!important;flex-direction:column}
 body.lh-app .astra-manager>.life-quick-panel{order:-2}
 .life-section-tabs{margin-left:32px!important;max-width:calc(100% - 64px)}
 body.lh-app .page,body.lh-app .astra-manager .page,body.lh-app .astra-manager[data-section=Dashboard] .page,body.lh-app .staff-main{padding:24px 32px 40px!important}
 .life-quick-panel{display:block!important}
 .life-quick-panel .life-side-tabs{position:static}
 .life-quick-panel .life-side-body{max-width:640px}
 .life-quick-panel .life-action-links{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .life-compliance{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:1279px) and (min-width:1024px){:root{--lh-side:228px}}

/* ---------- Phone & small tablet (and the Android app): top bar + bottom tabs ---------- */
@media (max-width:1023px){
 body.lh-app{padding-left:0!important;padding-top:calc(var(--lh-top) + var(--lh-safe-t))!important;padding-bottom:calc(var(--lh-tabbar) + var(--lh-safe-b))!important}
 #lucent-brand-bar.lh-shell{inset:0 0 auto 0;width:auto;height:calc(var(--lh-top) + var(--lh-safe-t));padding:var(--lh-safe-t) 12px 0 16px;flex-direction:row;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#0f3445,#174d64);box-shadow:0 1px 0 rgba(0,0,0,.06),0 4px 14px rgba(13,47,62,.18)}
 #lucent-brand-bar .lh-brand{padding:0;border:0;gap:10px}
 #lucent-brand-bar .lh-brand img{width:34px!important;height:34px!important;min-width:34px!important;border-radius:9px!important}
 #lucent-brand-bar .lh-brand strong{font-size:15px}
 #lucent-brand-bar .lh-brand small{font-size:11px;margin-top:1px}
 #lucent-brand-bar .lh-menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
 #lucent-brand-bar .lh-menu-toggle svg{width:22px;height:22px}
 #lucent-brand-bar .lh-shell-menu{position:absolute;top:calc(100% + 8px);right:10px;left:auto;width:min(320px,calc(100vw - 20px));margin:0;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0f3445;box-shadow:0 18px 40px rgba(13,47,62,.35);opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;pointer-events:none;visibility:hidden;transition:opacity .16s,transform .16s,visibility 0s .16s}
 #lucent-brand-bar.lh-open .lh-shell-menu{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .16s,transform .16s}
 #lucent-brand-bar .lh-link{min-height:44px}

 body.lh-app :is(.astra-manager-dock,.staff-bottom){top:auto!important;bottom:0!important;left:0!important;right:0!important;width:auto!important;max-height:none!important;height:calc(var(--lh-tabbar) + var(--lh-safe-b))!important;padding:6px 6px calc(6px + var(--lh-safe-b))!important;flex-direction:row!important;gap:2px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;background:rgba(255,255,255,.96)!important;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-top:1px solid var(--lh-line)!important;box-shadow:0 -4px 18px rgba(20,35,46,.06)!important;scrollbar-width:none}
 body.lh-app :is(.astra-manager-dock,.staff-bottom)::-webkit-scrollbar{display:none}
 body.lh-app :is(.astra-manager-dock,.staff-bottom) button{flex:1 0 72px!important;width:auto!important;min-width:72px!important;min-height:52px!important;height:52px!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:3px!important;padding:0 6px!important;color:var(--lh-muted)!important;font-size:11px!important;font-weight:600!important;border-radius:12px!important;scroll-snap-align:start;text-align:center!important}
 body.lh-app .staff-bottom button{flex:1 1 0!important;min-width:0!important}
 body.lh-app :is(.astra-manager-dock,.staff-bottom) button svg{width:22px!important;height:22px!important;flex:0 0 22px!important}
 body.lh-app :is(.astra-manager-dock,.staff-bottom) button span{max-width:100%}
 body.lh-app :is(.astra-manager-dock,.staff-bottom) button:hover{background:transparent!important;color:var(--lh-ink)!important}
 body.lh-app :is(.astra-manager-dock,.staff-bottom) button[aria-current=page]{background:var(--lh-brand-50)!important;color:var(--lh-brand)!important}
 body.lh-app :is(.astra-manager-dock,.staff-bottom) button[aria-current=page]::before{left:22%;right:22%;top:0;bottom:auto;width:auto;height:3px;border-radius:0 0 3px 3px;background:var(--lh-brand)}
 body.lh-app .astra-manager-dock>button:last-child{margin-top:0!important;border:0!important;color:var(--lh-brand)!important}

 body.lh-app .life-quick-panel{margin:16px 16px 0!important;border-radius:18px!important;display:block!important}
 .life-quick-panel .life-action-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.lh-app .page,body.lh-app .astra-manager .page,body.lh-app .astra-manager[data-section=Dashboard] .page,body.lh-app .staff-main{padding:20px 16px 28px!important}
 body.lh-app .astra-launcher{left:50%!important;width:calc(100vw - 24px)!important;max-height:calc(100dvh - var(--lh-top) - var(--lh-tabbar) - 40px)!important}
 .life-section-tabs{top:calc(var(--lh-top) + var(--lh-safe-t) + 8px)!important;margin:14px 16px 0!important;max-width:calc(100% - 32px)}
 body.lh-app .astra-manager:has(.life-section-tabs) .page{padding-top:16px!important}
 .life-compliance{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .life-status:last-child{grid-column:1/-1}
 .life-card-grid{grid-template-columns:1fr!important}
 body.lh-app .page-heading{flex-wrap:wrap}
 body.lh-app .page-heading h1,.life-home-heading h1{font-size:26px!important}
 html{scroll-padding-top:calc(var(--lh-top) + 16px)}
}
@media (max-width:760px){
 body .ezy-auth{grid-template-columns:1fr!important}
 body .ezy-auth-intro{min-height:0!important;padding:24px 22px 64px!important;gap:28px;background:radial-gradient(circle at 90% 12%,rgba(244,199,106,.45) 0 14px,rgba(244,199,106,.12) 15px,transparent 70px),linear-gradient(180deg,#0f3445 0%,#174d64 70%,#1f6481 100%)!important}
 body .ezy-auth-intro .ezy-wordmark img{width:44px!important;height:44px!important;min-width:44px!important}
 body .ezy-auth-intro .ezy-wordmark span{font-size:16px!important}
 body .ezy-auth-intro .ezy-wordmark small{font-size:9.5px!important;letter-spacing:.12em}
 body .ezy-auth-intro>div:nth-child(2){display:block!important}
 body .ezy-auth-intro .eyebrow{display:none!important}
 body .ezy-auth-intro h1{font-size:30px!important;margin:0 0 8px!important}
 body .ezy-auth-intro p{font-size:15px!important;line-height:1.55!important}
 body .ezy-auth-intro>small{display:none}
 body .ezy-auth-form{position:relative;z-index:2;margin:-32px 0 0!important;max-width:none!important;padding:22px 16px 48px!important;background:var(--lh-bg)!important;border-radius:26px 26px 0 0!important}
 body .ezy-auth-form form{padding:20px}
 body .ezy-auth-form h2{font-size:26px!important;margin-top:16px!important}
  .life-status{min-height:0!important;padding:16px!important}
 .life-status>p{display:none}
 .life-profile-fields{grid-template-columns:110px minmax(0,1fr)!important}
 .life-home-folders{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:420px){
 #lucent-brand-bar .lh-brand small{display:none}
 .life-compliance{gap:10px!important}
 .life-status>strong{font-size:13.5px!important}
}

/* ---------- Motion & print ---------- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{
 #lucent-brand-bar,body .astra-manager-dock,body .staff-bottom,body .life-quick-panel,.life-section-tabs{display:none!important}
 body,body.lh-app{padding:0!important;background:#fff!important}
 body.lh-app .page,body.lh-app .staff-main{padding:0!important;max-width:none!important}
 body :is(.panel,.life-card,.life-status){box-shadow:none!important}
}

/* ---------- Static pages (welcome, CQC) ---------- */
.lh-page{margin:0;min-height:100dvh;background:var(--lh-bg);color:var(--lh-ink);font:16px/1.6 var(--lh-font)}
.lh-hero{position:relative;overflow:hidden;color:#fff;padding:28px 24px 120px;background:radial-gradient(circle at 84% 30%,#f4c76a 0 40px,rgba(244,199,106,.26) 41px,rgba(244,199,106,.08) 110px,transparent 220px),linear-gradient(180deg,#0f3445 0%,#174d64 60%,#1f6481 100%)}
.lh-hero::after{content:"";position:absolute;inset:auto -5% 0;height:55%;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400' preserveAspectRatio='none'%3E%3Cpath d='M0 260 140 150l90 60 170-170 130 120 90-70 160 150 120-90 140 110 160-130v470H0Z' fill='%23ffffff' fill-opacity='.07'/%3E%3Cpath d='M0 320 200 210l120 70 160-120 150 110 140-80 170 120 260-150v240H0Z' fill='%23ffffff' fill-opacity='.08'/%3E%3Cpath d='M0 400V340c150-30 300-30 450 0s300 30 450 0 250-25 300-10v70Z' fill='%23f5f5f1'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.lh-hero>*{position:relative;z-index:1}
.lh-topnav{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lh-topnav .lh-logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.lh-topnav .lh-logo img{width:42px;height:42px;border-radius:12px;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 6px 18px rgba(0,0,0,.22)}
.lh-topnav .lh-logo strong{display:block;font:650 17px/1.15 var(--lh-display)}
.lh-topnav .lh-logo small{display:block;color:var(--lh-sun);font-size:12px}
.lh-topnav nav{display:flex;gap:6px;flex-wrap:wrap}
.lh-topnav nav a{color:#d6e6ec;text-decoration:none;font-weight:600;font-size:14px;padding:9px 14px;border-radius:10px}
.lh-topnav nav a:hover,.lh-topnav nav a[aria-current=page]{background:rgba(255,255,255,.1);color:#fff}
.lh-hero-copy{max-width:1120px;margin:64px auto 0}
.lh-hero-copy .lh-tag{display:inline-block;color:var(--lh-sun);font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase}
.lh-hero-copy h1{font:700 clamp(36px,6vw,64px)/1.05 var(--lh-display);letter-spacing:-.03em;margin:14px 0 18px;max-width:780px}
.lh-hero-copy p{font-size:clamp(16px,2vw,19px);color:#cfe1e8;max-width:620px;margin:0}
.lh-main{max-width:1120px;margin:-64px auto 0;padding:0 24px 64px;position:relative;z-index:2}
.lh-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.lh-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--lh-line);border-radius:20px;padding:26px;box-shadow:var(--lh-shadow);color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
a.lh-card:hover{transform:translateY(-3px);box-shadow:var(--lh-shadow-lg);border-color:var(--lh-brand-100)}
.lh-card .lh-card-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--lh-brand-50);color:var(--lh-brand)}
.lh-card .lh-card-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.lh-card h2{font:700 21px var(--lh-display);letter-spacing:-.01em;margin:6px 0 0}
.lh-card p{margin:0;color:var(--lh-muted);font-size:15px}
.lh-card .lh-cta{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:8px;color:var(--lh-brand);font-weight:650}
.lh-card.lh-card-primary{background:linear-gradient(160deg,#174d64,#1f6481);color:#fff;border-color:transparent}
.lh-card.lh-card-primary p{color:#cfe1e8}
.lh-card.lh-card-primary .lh-card-icon{background:rgba(255,255,255,.12);color:var(--lh-sun)}
.lh-card.lh-card-primary .lh-cta{color:var(--lh-sun)}
.lh-note{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:18px 20px;background:var(--lh-sun-50);border:1px solid #f1e2b0;border-radius:16px;color:#5a4306;font-size:14.5px}
.lh-note div>strong{display:block;color:#3d2c06;margin-bottom:2px}
.lh-note p{margin:0}
.lh-note .lh-dot{flex:0 0 10px;height:10px;margin-top:7px;border-radius:50%;background:#2f9a5b;box-shadow:0 0 0 4px rgba(47,154,91,.18)}
.lh-section-title{font:700 22px var(--lh-display);letter-spacing:-.01em;margin:44px 0 16px}
.lh-kq{border-top:4px solid var(--kq)}
@media (min-width:1100px){.lh-cards.lh-five{grid-template-columns:repeat(5,minmax(0,1fr))}.lh-cards.lh-five .lh-card{padding:22px}}
.lh-kq .lh-card-icon{background:color-mix(in srgb,var(--kq) 12%,#fff);color:var(--kq)}
.lh-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.lh-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:12px;font-weight:650;font-size:15px;text-decoration:none;border:1px solid var(--lh-line-2);background:#fff;color:var(--lh-ink)}
.lh-btn:hover{border-color:#c8c7bd;background:var(--lh-surface-2)}
.lh-btn.lh-btn-primary{background:var(--lh-brand);border-color:var(--lh-brand);color:#fff}
.lh-btn.lh-btn-primary:hover{background:var(--lh-brand-600)}
.lh-foot{max-width:1120px;margin:0 auto;padding:0 24px 40px;color:var(--lh-faint);font-size:13.5px}
.lh-foot a{color:var(--lh-brand)}
@media (max-width:640px){.lh-hero{padding:18px 16px 104px;background-position:0 0}.lh-hero{background:linear-gradient(180deg,#0f3445 0%,#174d64 60%,#1f6481 100%)}.lh-hero-copy{margin-top:40px}.lh-main{padding:0 16px 48px}.lh-topnav nav{flex-wrap:nowrap;gap:0}.lh-topnav nav a{padding:8px 7px;font-size:13px}.lh-topnav .lh-logo{gap:9px}.lh-topnav .lh-logo img{width:36px;height:36px;border-radius:10px}.lh-topnav .lh-logo strong{font-size:15px;white-space:nowrap}.lh-topnav .lh-logo small{display:none}.lh-card{padding:22px}}

/* Lucerne House 1.3.2: readable service-user and staff document cards.
   A file title must not compete with the action buttons for horizontal space. */
body .detail-body:has(>.profile-document-section){
  grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))!important;
}
body .profile-document-paged,
body .profile-document-files{
  min-width:0;
  max-width:100%;
}
body .profile-document-file{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:8px 12px;
  min-width:0;
  max-width:100%;
}
body .profile-document-file>svg{
  grid-column:1;
  grid-row:1;
  width:18px;
  height:18px;
  margin-top:3px;
}
body .profile-document-file>.table-link{
  grid-column:2/-1;
  grid-row:1;
  min-width:0;
  width:100%;
  padding:0;
  text-align:left;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
  line-height:1.45;
}
body .profile-document-file>.table-link small{
  white-space:normal;
  word-break:normal;
  line-height:1.5;
}
body .profile-document-file>.text-button{
  grid-column:2/-1;
  grid-row:2;
  justify-self:start;
  min-width:0;
  max-width:100%;
  min-height:36px;
  padding:6px 0;
  text-align:left;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
  line-height:1.4;
}
body .profile-document-file>.text-button:has(~.text-button){grid-column:2}
body .profile-document-file>.text-button~.text-button{grid-column:3}

/* Keep primary navigation and workspace/account tools in separate visible regions.
   The utility menu grows with signed-in links; a fixed reserved pixel height
   previously let it overlap the navigation, especially on laptop displays.
   Match the existing search-control offset and keep both lists scrollable. */
@media screen and (min-width:1024px){
 body.lh-app{
  --lh-navigation-top:158px;
  --lh-navigation-primary-height:calc((100dvh - var(--lh-navigation-top) - 26px) / 2);
 }
 body.lh-app.lh-manager .astra-manager-dock,
 body.lh-app.lh-staff .staff-bottom{
  top:var(--lh-navigation-top)!important;
  height:auto!important;
  max-height:var(--lh-navigation-primary-height)!important;
  box-sizing:border-box!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
 }
 body.lh-app #lucent-brand-bar .lh-shell-menu{
  position:absolute;
  top:calc(var(--lh-navigation-top) + var(--lh-navigation-primary-height) + 12px);
  bottom:14px;
  left:14px;
  right:14px;
  margin:0;
  padding:12px 0 0;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
 }
 body.lh-app #lucent-brand-bar .lh-shell-menu>*{flex-shrink:0}
}
