*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#191b1f;background:#f6f7f9}button,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.shell.has-sector-nav{grid-template-columns:244px 1fr 208px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#111214;color:#fff;padding:18px 12px 12px;display:flex;flex-direction:column;z-index:50;border-right:1px solid #202226}

/* Sector operations rail (Phase 3, 2026-08-18) -- dual-sidebar architecture:
   LEFT = Julia Core/standard Business OS (unchanged above). RIGHT = sector-
   specific operational views, shown only when the tenant's sector defines
   any (config/sector-operations.json) -- hidden entirely otherwise, never
   an empty decorative rail. */
.sector-sidebar{position:fixed;inset:0 0 0 auto;width:208px;background:#fff;border-left:1px solid #e5e7eb;padding:18px 12px;z-index:40;overflow-y:auto}
.sector-sidebar.hidden{display:none}
.sector-sidebar h4{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8b919a;margin:4px 8px 10px;font-weight:800}
.sector-sidebar .nav{color:#4b5059;height:40px}
.sector-sidebar .nav:hover{background:#f2f2f6;color:#191b1f}
.sector-sidebar .nav.active{background:#efeffc;color:#5f5bd7;box-shadow:inset 2px 0 #5f5bd7}
.shell.has-sector-nav .julia-dock{right:232px}
body.demo-banner-active .sidebar,body.demo-banner-active .sector-sidebar{top:var(--demo-banner-height,38px)}
body.demo-banner-active .topbar{top:var(--demo-banner-height,38px)}
.sector-drawer-overlay,.sector-drawer-panel{top:0}
body.demo-banner-active .sector-drawer-overlay,body.demo-banner-active .sector-drawer-panel{top:var(--demo-banner-height,38px)}
@media(max-width:1024px){.shell.has-sector-nav{grid-template-columns:244px 1fr}.sector-sidebar{display:none}.shell.has-sector-nav .julia-dock{right:24px}}.brand{height:42px;display:flex;align-items:center;gap:10px;padding:0 8px}.brand>span:nth-child(2),.workspace-switch>span:nth-child(2),.account>span:nth-child(2){display:flex;flex-direction:column}.brand b{font-size:15px}.brand small,.workspace-switch small,.account small{font-size:10px;color:#858b94;margin-top:2px}.mark{width:32px;height:32px;border-radius:9px;background:#5f5bd7;display:grid;place-items:center;font-weight:800}.workspace-switch,.account{width:100%;border:1px solid #292b30;background:#1a1b1e;color:#fff;border-radius:10px;min-height:52px;display:flex;align-items:center;gap:10px;text-align:left;padding:8px 10px}.workspace-switch{margin:16px 0 12px}.workspace-switch i,.account i{margin-left:auto;color:#777d86}.avatar{width:33px;height:33px;border-radius:8px;background:#2a2d32;display:grid!important;place-items:center;font-size:11px;font-weight:700}nav{display:flex;flex-direction:column;gap:3px}.nav{height:42px;border:0;border-radius:9px;background:transparent;color:#aeb2ba;display:flex;align-items:center;gap:11px;padding:0 11px;text-align:left;font-size:13px;font-weight:600}.nav span{width:18px;text-align:center}.nav .nav-label{width:auto;text-align:inherit}.nav:hover{background:#1b1d20;color:#fff}.nav.active{background:#25272b;color:#fff;box-shadow:inset 2px 0 #5f5bd7}.side-bottom{margin-top:auto;padding-top:10px;border-top:1px solid #24262a}.invites{height:38px;width:100%;border:1px solid #292b30;background:#17181b;color:#777d86;border-radius:9px;display:flex;align-items:center;justify-content:space-between;padding:0 10px}.invites small{font-size:9px;border:1px solid #2c2e33;padding:2px 6px;border-radius:99px}.account{margin-top:8px;border-color:transparent;background:transparent}.main{grid-column:2;min-width:0}.topbar{height:76px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.title-row{display:flex;align-items:center;gap:12px}.title-row small{font-size:10px;color:#737985;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.title-row h1{font-size:22px;margin:3px 0 0;letter-spacing:-.03em}.actions{display:flex;gap:8px}.actions button{height:34px;border:1px solid #e0e3e7;border-radius:9px;background:#fff;color:#4b5059;padding:0 10px;font-size:11px;font-weight:650}.actions .online{color:#3d654f}.actions .new{background:#5f5bd7;border-color:#5f5bd7;color:#fff;padding:0 13px}#content{max-width:1560px;margin:auto;padding:28px 28px 132px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.hero p{margin:0 0 7px;color:#5f5bd7;font-size:10px;font-weight:800;letter-spacing:.08em}.hero h2{margin:0;font-size:30px;letter-spacing:-.04em}.hero span{display:block;margin-top:8px;color:#717784;font-size:12px}.hero>div:last-child{display:flex;gap:8px}.primary,.ghost{height:38px;border-radius:9px;padding:0 14px;font-size:11px;font-weight:650}.primary{background:#5f5bd7;border:1px solid #5f5bd7;color:#fff}.ghost{background:#fff;border:1px solid #daddE2;color:#30343a}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px}.metrics article{min-height:124px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:17px 18px}.metrics span{font-size:11px;color:#6f7580;font-weight:650}.metrics b{display:block;font-size:28px;margin-top:11px}.metrics small{display:block;font-size:10px;color:#91969f;margin-top:12px}.columns{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-bottom:14px}.panel{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}.panel>header{height:63px;border-bottom:1px solid #e5e7eb;padding:12px 17px;display:flex;align-items:center;justify-content:space-between}.panel header small{font-size:9px;color:#8b919a;letter-spacing:.08em;font-weight:800}.panel h3{font-size:14px;margin:3px 0 0}.panel header>button{border:0;background:none;color:#5f5bd7;font-size:10px}.panel em{font-style:normal;font-size:9px;color:#5f5bd7;background:#efeffc;padding:4px 8px;border-radius:99px}.empty{min-height:240px;display:grid;place-items:center;align-content:center;text-align:center;padding:25px}.empty i{width:35px;height:35px;border-radius:50%;background:#f0f2f4;display:grid;place-items:center;font-style:normal;color:#777d86}.empty b{font-size:12px;margin-top:9px}.empty span{font-size:10px;color:#777d86;margin-top:5px}.rec{display:flex;gap:12px;padding:16px 17px;border-bottom:1px solid #eceef0}.rec:last-child{border-bottom:0}.rec i{width:30px;height:30px;border-radius:8px;background:#efeffc;color:#5f5bd7;display:grid;place-items:center;font-style:normal}.rec b{font-size:11px}.rec p{font-size:10px;color:#777d86;line-height:1.45;margin:5px 0 0}.activity{min-height:210px}.seg{background:#f1f2f4;padding:3px;border-radius:8px}.seg button{height:24px;border:0;border-radius:6px;background:transparent;font-size:9px;color:#777d86}.seg .selected{background:#fff;color:#333;box-shadow:0 1px 2px #ddd}.skeleton{height:44px;border-bottom:1px solid #f0f1f2;position:relative}.skeleton:after{content:"";position:absolute;left:17px;right:17px;top:18px;height:8px;border-radius:99px;background:linear-gradient(90deg,#f1f2f4,#e6e8eb,#f1f2f4);background-size:200% 100%;animation:pulse 1.6s infinite}@keyframes pulse{from{background-position:200% 0}to{background-position:-200% 0}}.hidden{display:none!important}.loader,.module-empty{min-height:320px;display:grid;place-items:center;color:#777d86;font-size:11px;border:1px dashed #dfe2e6;border-radius:12px;background:#fff}.module-empty{align-content:center;text-align:center;padding:30px}.module-empty h2{font-size:18px;margin:0;color:#202226}.module-empty p{max-width:560px;line-height:1.5}.module-frame{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}.julia-dock{position:fixed;left:268px;right:24px;bottom:16px;z-index:35;max-width:1180px;margin:auto}.composer{min-height:54px;border:1px solid #d8dce2;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 10px 32px rgba(25,30,40,.12);display:flex;align-items:flex-end;gap:7px;padding:7px}.composer textarea{flex:1;min-height:38px;max-height:130px;border:0;outline:0;resize:none;padding:10px 7px;background:transparent;font-size:12px}.composer button{width:38px;height:38px;border:0;border-radius:10px;background:#f0f2f4;color:#5c626c}.composer #send{background:#5f5bd7;color:#fff;font-size:17px}.composer-meta{font-size:9px;color:#91969f;display:flex;justify-content:space-between;padding:5px 7px}.mobile{display:none}.backdrop{display:none}@media(max-width:1100px){.columns{grid-template-columns:1fr}.online{display:none}}@media(max-width:820px){.shell{display:block}.sidebar{width:252px;transform:translateX(-105%);transition:.2s;box-shadow:15px 0 35px rgba(0,0,0,.2)}body.nav-open .sidebar{transform:none}.main{display:block}.mobile{display:grid}.brand .mobile{margin-left:auto;border:0;background:none;color:#fff;font-size:20px}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:45}body.nav-open .backdrop{display:block}.topbar{height:68px;padding:0 15px}#content{padding:20px 15px 145px}.julia-dock{left:12px;right:12px}.hero{align-items:flex-start;flex-direction:column}.hero>div:last-child{width:100%}.hero>div:last-child button{flex:1}}@media(max-width:560px){.metrics{gap:8px}.metrics article{padding:14px;min-height:110px}.hero h2{font-size:24px}.lang,.new{display:none}.composer-meta span:first-child{display:none}}
/* Founder correction (2026-08-19), Item 2: real Julia chat panel, wired
   into the previously-inert bottom composer (already on every page via
   the outer shell) rather than a second/separate floating widget. */
.julia-thread{max-height:340px;overflow-y:auto;margin-bottom:8px;border:1px solid #d8dce2;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 10px 32px rgba(25,30,40,.12);padding:10px}
.julia-msg{display:flex;gap:8px;padding:7px 4px;align-items:flex-start}
.julia-msg .julia-msg-avatar{width:24px;height:24px;border-radius:7px;flex:0 0 auto;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff}
.julia-msg.user .julia-msg-avatar{background:#4b5059}
.julia-msg.julia .julia-msg-avatar{background:#5f5bd7}
.julia-msg-body{flex:1;min-width:0}
.julia-msg-name{font-size:9px;font-weight:800;color:#8b919a;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
.julia-msg-text{font-size:12px;line-height:1.55;color:#20232a;white-space:pre-wrap;word-wrap:break-word}
.julia-msg.pending .julia-msg-text{color:#91969f;font-style:italic}
@media(max-width:820px){.julia-thread{max-height:44vh}}

/* Founder correction (2026-08-19): chat redesigned from a full-width
   floating dock (was spanning almost the entire workspace width and
   growing tall enough to cover module content underneath -- Item
   BUG3/BUG4) into a real collapsible right-side sidebar panel, capped
   at 380px, with an explicit close button and a launcher to reopen it.
   !important on the geometry properties only, to reliably win over the
   older, more-specific `.shell.has-sector-nav .julia-dock` rules above
   without touching that already-fragile minified block. */
.julia-dock{position:fixed!important;top:76px!important;left:auto!important;right:0!important;bottom:0!important;width:380px!important;max-width:92vw!important;margin:0!important;z-index:35;display:flex;flex-direction:column;background:rgba(255,255,255,.98);border-left:1px solid #d8dce2;box-shadow:-10px 0 32px rgba(25,30,40,.1);transform:translateX(100%);transition:transform .18s ease}
.julia-dock.open{transform:translateX(0)}
body.demo-banner-active .julia-dock{top:calc(76px + var(--demo-banner-height,38px))!important}
.julia-dock-header{flex:0 0 auto;height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 14px;border-bottom:1px solid #e5e7eb}
.julia-dock-header b{font-size:12px;color:#20232a;font-weight:800}
.julia-dock-close{width:30px;height:30px;border:0;background:#f0f2f4;border-radius:8px;color:#5c626c;cursor:pointer;font-size:13px;line-height:1}
.julia-dock-close:hover{background:#e5e7eb}
.julia-launcher{position:fixed;right:20px;bottom:20px;z-index:34;width:52px;height:52px;border-radius:50%;background:#5f5bd7;color:#fff;border:0;box-shadow:0 8px 24px rgba(95,91,215,.4);font-size:20px;cursor:pointer}
.julia-launcher.hidden{display:none!important}
/* Real bug found via Playwright E2E (2026-08-19): the sector-sidebar
   (.sector-sidebar, 208px wide, full viewport height, z-index:40) sits
   directly over the launcher's position when a sector rail is present,
   making the button genuinely unclickable -- not just visually crowded.
   Same right-offset pattern .julia-dock already uses for this exact
   sidebar, applied to the launcher too; z-index bumped above the
   sidebar's 40 as a second, independent guarantee it's never covered. */
.shell.has-sector-nav .julia-launcher{right:228px;z-index:41}
@media(max-width:1024px){.shell.has-sector-nav .julia-launcher{right:20px}}
.julia-dock .julia-thread{flex:1 1 auto;max-height:none!important;margin:8px 10px 0;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0 4px}
.julia-dock .composer{flex:0 0 auto;margin:0 10px;box-shadow:none}
.julia-dock .composer-meta{margin:0 10px 10px}
@media(max-width:820px){.julia-dock{width:100vw!important;max-width:100vw!important;top:68px!important}body.demo-banner-active .julia-dock{top:calc(68px + var(--demo-banner-height,38px))!important}}
