/* P2 foundation: business_services only; sector themes retain their existing layout. */
.shell-skip{position:fixed;top:8px;left:8px;z-index:600;transform:translateY(-160%);padding:12px 18px;background:#d1e6a5;color:#172014;border-radius:8px}
.shell-skip:focus{transform:translateY(0)}
.shell-user-details{flex:1;min-width:0}
.shell-topbar-actions{display:flex;align-items:center;gap:8px}
.shell-compact-toggle,.shell-mobile-nav{display:none}
/* Keep the canonical lettering; composite its black backing into the shell. */
.flye-wordmark{width:120px;height:20px;isolation:auto}
.flye-wordmark img{width:138px;left:-8px;bottom:-5px;filter:invert(1) hue-rotate(180deg);mix-blend-mode:multiply}
[data-theme="dark"] .flye-wordmark img{filter:none;mix-blend-mode:screen}
.flye-compact-mark{display:none;width:24px;height:20px;color:var(--primary)}
.theme-business{
    --bg:#f6f4ee;--surface:#ffffff;--surface-alt:#eeede6;--surface-bg:#eeede6;
    --border:#dedfd5;--border-color:#dedfd5;--ink:#29332b;--ink-soft:#60685e;--ink-lighter:#686f64;
    --primary:#41633c;--primary-dark:#314d2d;--primary-soft:#eaf0df;--primary-rgb:65,99,60;
    --sidebar-bg:#fdfcf8;--sidebar-text:#29332b;--topbar-bg:#f6f4ee;--nav-item-color:#60685e;
    --nav-hover:#eeeee5;--nav-active:#e7eddd;--nav-active-ink:#35522f;--button-ink:#ffffff;
    grid-template-columns:248px minmax(0,1fr);min-height:100dvh;
    font-family:var(--font-display);font-variant-numeric:tabular-nums;
}
[data-theme="dark"] .theme-business{
    --bg:#171917;--surface:#20231f;--surface-alt:#292d27;--surface-bg:#292d27;
    --border:#3c4239;--border-color:#3c4239;--ink:#edf0e8;--ink-soft:#b0b7a9;--ink-lighter:#a5ad9e;
    --primary:#c2db8a;--primary-dark:#d0e6a3;--primary-soft:#303827;--primary-rgb:194,219,138;
    --sidebar-bg:#1c1e1a;--sidebar-text:#edf0e8;--topbar-bg:#171917;--nav-item-color:#b0b7a9;
    --nav-hover:#292e25;--nav-active:#343e29;--nav-active-ink:#d8edaf;--button-ink:#19220f;
}
[data-theme="dark"] .theme-business.app-shell{background:var(--bg)}
.theme-business .sidebar{position:sticky;top:0;height:100dvh;min-height:0;border-right:1px solid var(--border);background:var(--sidebar-bg)}
.theme-business .sidebar-overlay{display:none}
.theme-business .brand{padding:26px 24px 20px;min-height:104px;flex-shrink:0;border-bottom:0}
.theme-business .brand-title{color:var(--ink-soft);font-size:12px;letter-spacing:0;margin-top:9px;max-width:180px}
.theme-business .nav-menu{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 14px 20px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.theme-business .nav-group-label{margin:20px 12px 8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-lighter);line-height:1.6}
.theme-business .nav-menu>.nav-group-label:first-child{margin-top:8px}
.theme-business .nav-item{min-height:44px;gap:12px;padding:10px 13px;border-radius:8px;font-size:13px;line-height:1.4;color:var(--nav-item-color);transition:background .18s,color .18s}
.theme-business .nav-item i{color:inherit;font-size:17px;flex:0 0 20px}
.theme-business .nav-item:hover{background:var(--nav-hover);color:var(--ink)}
.theme-business .nav-item.active{background:var(--nav-active);color:var(--nav-active-ink);box-shadow:none}
.theme-business .nav-item.active i{color:inherit}
.theme-business .nav-item.active::before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;border-radius:2px;background:var(--primary)}
.theme-business .sidebar-footer{padding:12px;border-top:1px solid var(--border);flex-shrink:0}
.theme-business .user-chip{gap:10px;padding:10px 4px 2px;min-width:0}
.theme-business .user-name{color:var(--ink);font-size:12px}
.theme-business .user-role{color:var(--ink-soft);font-size:11px}
.theme-business .sidebar-user-avatar{border-radius:10px;border-color:var(--border);color:var(--primary)}
.theme-business .btn-logout{color:var(--ink-soft);min-width:44px;min-height:44px;display:grid;place-items:center}
.theme-business .shell-compact-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 13px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);font-size:12px;text-align:left}
.theme-business .shell-compact-toggle:hover{color:var(--ink);background:var(--surface-alt)}
.theme-business .topbar{min-height:76px;padding:14px 32px;gap:12px;background:var(--bg);z-index:100}
.shell-context{display:flex;gap:12px;align-items:center;min-width:0;font-size:12px;color:var(--ink-soft)}
.shell-context strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:30ch}
.theme-business .shell-inbox-shortcut{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);padding:8px 12px;font-size:12px;text-decoration:none;border-right:1px solid var(--border);margin-right:4px}
.theme-business .shell-inbox-shortcut:hover{color:var(--primary)}
.theme-business .notif-btn,.theme-business .dark-toggle-btn,.theme-business .hamburger-btn,.theme-business .sidebar-close-btn{min-height:44px;min-width:44px;color:var(--ink-soft)}
.theme-business .page-body{padding:36px clamp(20px,3vw,48px) 48px;min-width:0;flex:1}
.theme-business .page-title{font-size:clamp(1.7rem,3vw,2.65rem);font-weight:600;line-height:1.12;letter-spacing:-.045em;text-wrap:balance}
.theme-business .page-subtitle{color:var(--ink-soft);line-height:1.75;font-size:14px;max-width:65ch}
.theme-business .card{color:var(--ink)}
.theme-business .btn.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--button-ink);font-weight:600;box-shadow:none}
.theme-business .btn.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:var(--button-ink)}
.theme-business .btn.btn-primary i{color:inherit}
.theme-business .btn{min-height:44px;border-radius:9px;transition:background .18s,transform .18s}
.theme-business .btn:active{transform:translateY(1px)}
.theme-business :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--primary);outline-offset:4px}
.theme-business #app-main:focus{outline:none}
.theme-business .shell-notifications-close{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink)}
.theme-business .notif-header{gap:10px}.theme-business .notif-header>span:first-child{flex:1}.theme-business .notif-dropdown{max-height:calc(100dvh - 100px);display:flex;flex-direction:column}.theme-business .notif-list{min-height:0;overscroll-behavior:contain}
.theme-business .notif-header{flex-shrink:0}.theme-business .brand-title{overflow-wrap:anywhere}
@media(min-width:901px){
    .theme-business.sidebar-compact{grid-template-columns:76px minmax(0,1fr)}
    .theme-business.sidebar-compact .brand{padding:24px 12px;justify-content:center;overflow:hidden}
    .theme-business.sidebar-compact .flye-wordmark{width:24px;height:20px}
    .theme-business.sidebar-compact .flye-wordmark img{display:none}
    .theme-business.sidebar-compact .flye-compact-mark{display:block}
    .theme-business.sidebar-compact .brand-title,.theme-business.sidebar-compact .shell-user-details,.theme-business.sidebar-compact .btn-logout{display:none}
    .theme-business.sidebar-compact .nav-menu{padding-inline:10px}
    .theme-business.sidebar-compact .nav-item{justify-content:center;padding:10px;gap:0}
    .theme-business.sidebar-compact .nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
    .theme-business.sidebar-compact .nav-item:is(:hover,:focus-visible) .nav-label{position:fixed;left:84px;z-index:510;width:max-content;height:auto;margin:0;padding:8px 12px;clip-path:none;overflow:visible;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:8px;pointer-events:none}
    .theme-business.sidebar-compact .nav-group-label{height:1px;margin:14px 10px;background:var(--border);font-size:0;overflow:hidden}
    .theme-business.sidebar-compact .shell-compact-toggle{justify-content:center;padding:10px}
    .theme-business.sidebar-compact .user-chip{justify-content:center}
}
@media(max-width:1100px){.theme-business .topbar{padding-inline:20px}.shell-context strong{max-width:20ch}}
@media(max-width:900px){
    .theme-business{grid-template-columns:minmax(0,1fr)}
    .theme-business .sidebar{position:fixed;top:0;left:0;width:min(304px,calc(100vw - 44px));height:100dvh;z-index:500;visibility:hidden}
    .theme-business.sidebar-open .sidebar{visibility:visible}
    .theme-business.sidebar-open .sidebar-overlay{display:block;border:0;padding:0;background:#070c09b8}
    .theme-business .brand{padding:20px;min-height:96px}
    .theme-business .shell-compact-toggle{display:none}
    .theme-business .topbar{min-height:68px;padding:10px 12px}
    .theme-business .notif-dropdown{position:fixed;top:76px;right:12px;left:auto;width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 160px)}
    .shell-context{gap:8px}.shell-context>span{display:none}.shell-context strong{max-width:24ch;font-size:13px}
    .theme-business .shell-inbox-shortcut{display:none}
    .theme-business .page-body{padding:24px 18px calc(100px + env(safe-area-inset-bottom))}
    .theme-business .shell-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:110;display:flex;align-items:stretch;justify-content:space-around;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--sidebar-bg)}
    .theme-business .shell-mobile-nav a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;min-width:44px;border-radius:10px;text-decoration:none;color:var(--ink-soft);font-size:10px}
    .theme-business .shell-mobile-nav a i{font-size:19px}.theme-business .shell-mobile-nav a.active{color:var(--primary);background:var(--nav-active)}
    /* Until the dedicated Inbox redesign, never cover its existing message composer. */
    .theme-business:has(.ic-wrap) .shell-mobile-nav{display:none}
    .theme-business .page-body:has(.ic-wrap){padding-bottom:16px}
}
@media(max-width:400px){.shell-context strong{max-width:17ch}.theme-business .page-body{padding-inline:14px}.shell-topbar-actions{gap:0}}
@media(max-width:900px){.theme-business .topbar>div:first-child{flex:1;min-width:0}.theme-business .shell-context{min-width:0;flex:1}.theme-business .shell-context strong{max-width:100%}.theme-business .shell-topbar-actions{flex-shrink:0}.theme-business :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){font-size:16px}}
@media(prefers-reduced-motion:reduce){.theme-business *,.theme-business *::before,.shell-skip{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
