/* Life OS 0.34 shell — native desktop/mobile chrome with hard layout guarantees. */
html,body{background:var(--life-canvas)!important}
body.life-ui{font-family:var(--life-font);background:var(--life-canvas);color:var(--life-ink)}
body.life-ui #shell{display:flex!important;width:100vw!important;height:100dvh!important;min-width:0;overflow:hidden;background:var(--life-canvas)}
body.life-ui #sidebar{position:relative;z-index:30;width:var(--life-sidebar-width)!important;min-width:var(--life-sidebar-width)!important;max-width:var(--life-sidebar-width)!important;height:100dvh;flex:0 0 var(--life-sidebar-width)!important;display:flex;flex-direction:column;padding:18px 11px 14px;background:color-mix(in srgb,var(--life-surface) 86%,transparent);border-right:1px solid var(--life-line-soft);box-shadow:none;overflow-y:auto;overflow-x:hidden}
@supports(backdrop-filter:blur(1px)){body.life-ui #sidebar{backdrop-filter:blur(24px) saturate(130%)}}
body.life-ui #sidebar .brand{display:flex;align-items:center;gap:10px;padding:5px 10px 20px;min-height:54px}
body.life-ui .brand-mark{width:30px;height:30px;border-radius:9px;background:var(--life-ink);color:var(--life-action-ink);box-shadow:none;font:700 12px/1 var(--life-font)}
body.life-ui .brand-name{display:flex;align-items:baseline;gap:7px;min-width:0;font:650 18px/1.15 var(--life-font);letter-spacing:-.035em;color:var(--life-ink)}
body.life-ui .brand-name span{font:550 10px/1 var(--life-font);letter-spacing:0;color:var(--life-tertiary);white-space:nowrap}
body.life-ui #sidebar .nav-group{margin:0 0 6px}
body.life-ui #sidebar .nav-label{padding:15px 10px 6px;font:600 10px/1 var(--life-font);letter-spacing:.01em;text-transform:none;color:var(--life-tertiary)}
body.life-ui #sidebar .nav-item{position:relative;display:flex;align-items:center;gap:10px;min-height:36px;margin:1px 0;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--life-muted);font:520 13px/1.2 var(--life-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--life-duration-fast) var(--life-ease),color var(--life-duration-fast) var(--life-ease)}
body.life-ui #sidebar .nav-item svg{width:16px;height:16px;flex:0 0 16px;opacity:.82}
body.life-ui #sidebar .nav-item:hover{background:color-mix(in srgb,var(--life-hover) 64%,transparent);color:var(--life-ink)}
body.life-ui #sidebar .nav-item.active{background:color-mix(in srgb,var(--life-ink) 8%,transparent);color:var(--life-ink);font-weight:590}
body.life-ui #sidebar .nav-item.active::before{content:"";position:absolute;left:2px;top:50%;width:3px;height:16px;transform:translateY(-50%);border-radius:99px;background:var(--life-focus)}
body.life-ui #sidebar .sidebar-foot{margin-top:auto;padding:12px 0 0;border-top:1px solid var(--life-line-soft)}
body.life-ui #sidebar .profile-row{display:flex;align-items:center;gap:9px;min-height:46px;padding:7px 9px;border-radius:10px;background:transparent}
body.life-ui #sidebar .profile-row:hover{background:color-mix(in srgb,var(--life-hover) 66%,transparent)}
body.life-ui #sidebar .profile-name{font-size:12.5px;color:var(--life-ink)}body.life-ui #sidebar .profile-sub{font-size:10.5px;color:var(--life-tertiary)}
body.life-ui .life-shortcuts{display:none!important}
body.life-ui #main{position:relative;z-index:1;flex:1 1 auto!important;width:calc(100vw - var(--life-sidebar-width))!important;min-width:0!important;height:100dvh;display:flex!important;flex-direction:column;overflow:hidden;background:var(--life-canvas)}
body.life-ui #topbar{position:relative;z-index:20;flex:0 0 56px!important;width:100%;height:56px!important;display:flex;align-items:center;gap:8px;padding:0 22px;border:0;border-bottom:1px solid color-mix(in srgb,var(--life-line-soft) 76%,transparent);background:color-mix(in srgb,var(--life-canvas) 90%,transparent)}
@supports(backdrop-filter:blur(1px)){body.life-ui #topbar{backdrop-filter:blur(22px) saturate(130%)}}
body.life-ui #topbar .crumbs{min-width:0;color:var(--life-tertiary);font:500 12px var(--life-font)}body.life-ui #topbar .crumbs b{color:var(--life-muted);font-weight:580}
body.life-ui #topbar .search-trigger{margin-left:auto;width:min(310px,32vw);min-width:190px;min-height:34px;padding:7px 10px;border:1px solid var(--life-line-soft);border-radius:9px;background:color-mix(in srgb,var(--life-surface) 70%,transparent);color:var(--life-tertiary);font:500 12px var(--life-font);box-shadow:0 1px 0 rgba(255,255,255,.035) inset}
body.life-ui #topbar .search-trigger:hover{background:var(--life-surface);color:var(--life-muted)}body.life-ui #topbar .search-trigger kbd{margin-left:auto;border:0;background:transparent;color:var(--life-tertiary);font:500 10px var(--life-font-mono)}
body.life-ui #topbar .icon-btn{display:grid;place-items:center;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--life-muted)}body.life-ui #topbar .icon-btn:hover{background:var(--life-hover);color:var(--life-ink)}
body.life-ui #content{position:relative;flex:1 1 auto!important;width:100%!important;min-width:0!important;max-width:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:34px clamp(24px,4vw,60px) 84px;background:var(--life-canvas);scrollbar-gutter:stable}
body.life-ui #content>.fade-in{width:100%!important;max-width:var(--life-content-standard)!important;min-width:0!important;margin:0 auto!important}
body.life-ui[data-life-page="calendar"] #content>.fade-in,body.life-ui[data-life-page="finance-hub"] #content>.fade-in,body.life-ui[data-life-page="tasks"] #content>.fade-in{max-width:var(--life-content-wide)!important}
body.life-ui[data-life-page="settings"] #content>.fade-in,body.life-ui[data-life-page="knowledge"] #content>.fade-in{max-width:var(--life-content-focused)!important}
body.life-ui #content .page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;min-width:0;margin:0 0 28px;padding:0;border:0}
body.life-ui #content .page-head>div:first-child{min-width:0}body.life-ui #content .page-title{margin:0;color:var(--life-ink);font:650 var(--life-text-title)/1.08 var(--life-font);letter-spacing:-.045em;overflow-wrap:normal;word-break:normal}body.life-ui #content .page-sub{max-width:66ch;margin:7px 0 0;color:var(--life-muted);font:450 13px/1.5 var(--life-font)}
body.life-ui .life-eyebrow{display:none!important}
body.life-ui #mobiletab{display:none}
@media(max-width:1000px) and (min-width:821px){:root{--life-sidebar-width:208px}body.life-ui #content{padding-inline:28px}}
@media(max-width:820px){
 :root{--life-sidebar-width:min(330px,88vw)}
 body.life-ui #shell{display:block!important}
 body.life-ui #main{width:100vw!important;height:100dvh!important}
 body.life-ui #sidebar{position:fixed!important;z-index:120!important;inset:0 auto 0 0;width:min(330px,88vw)!important;min-width:0!important;max-width:88vw!important;height:100dvh;transform:translateX(-104%);transition:transform 220ms var(--life-ease);padding:calc(16px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom));background:var(--life-material-heavy)!important;box-shadow:16px 0 48px rgba(0,0,0,.28)}
 body.life-ui #sidebar.open{transform:translateX(0)!important}
 body.life-ui #topbar{height:54px!important;flex-basis:54px!important;padding:0 10px;border-bottom-color:color-mix(in srgb,var(--life-line-soft) 55%,transparent)}
 body.life-ui #topbar .search-trigger{display:none}
 body.life-ui #content{padding:18px 16px calc(88px + env(safe-area-inset-bottom));scroll-padding-bottom:92px}
 body.life-ui #content>.fade-in{max-width:100%!important}
 body.life-ui #content .page-head{align-items:flex-start;margin-bottom:24px;gap:12px}
 body.life-ui #content .page-title{font-size:30px}
 body.life-ui #content .page-head>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:100%}
 body.life-ui #mobiletab{position:fixed;z-index:100;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));height:62px;display:flex!important;align-items:center;justify-content:space-around;padding:5px 6px;border:1px solid color-mix(in srgb,var(--life-line) 55%,transparent);border-radius:18px;background:var(--life-material);box-shadow:var(--life-shadow-menu)}
 @supports(backdrop-filter:blur(1px)){body.life-ui #mobiletab{backdrop-filter:blur(24px) saturate(140%)}}
 body.life-ui #mobiletab .mobile-nav-btn-v150{position:relative;min-width:52px;min-height:50px;padding:5px 8px;border:0;border-radius:12px;background:transparent;color:var(--life-tertiary);font:550 10px/1.1 var(--life-font)}
 body.life-ui #mobiletab .mobile-nav-btn-v150.active{background:color-mix(in srgb,var(--life-ink) 8%,transparent);color:var(--life-ink)}
 body.life-ui #mobiletab .mobile-nav-btn-v150.add{width:48px;height:48px;min-width:48px;min-height:48px;margin:0;border-radius:14px;background:var(--life-ink);color:var(--life-action-ink);box-shadow:none}
}
@media(max-width:360px){body.life-ui #content{padding-inline:12px}body.life-ui #mobiletab{left:5px;right:5px}}
/* Collapsible sidebar groups inherit the same quiet native hierarchy. */
body.life-ui #sidebar .nav-section-v104{margin:3px 0 6px}
body.life-ui #sidebar .nav-section-head-v104{display:flex;align-items:center;gap:8px;min-height:30px;padding:6px 10px;border-radius:8px;background:transparent;color:var(--life-tertiary);font:600 10px/1.2 var(--life-font);letter-spacing:.01em;text-transform:none}
body.life-ui #sidebar .nav-section-head-v104:hover{background:color-mix(in srgb,var(--life-hover) 56%,transparent);color:var(--life-muted)}
body.life-ui #sidebar .nav-section-head-v104 .chev{margin-left:auto;font-size:13px;color:var(--life-tertiary)}
body.life-ui #sidebar .nav-section-body-v104 .nav-item{padding-left:20px}
body.life-ui #sidebar .nav-divider-v104{height:1px;margin:8px 10px;background:var(--life-line-soft)}
