:root{--ink:#14161a;--ink-soft:#5b6169;--ink-faint:#8a8f96;--paper:#f5f3ef;--paper-raised:#ffffff;--paper-sunken:#eeece6;--line:#e3dfd8;--line-strong:#d6d1c8;--graphite:#101317;--graphite-raised:#1a1e24;--graphite-hover:#22262d;--graphite-line:rgba(255,255,255,0.08);--rail-text:#c7ccd1;--rail-text-dim:#767c84;--good:#1fae6a;--warn:#f5a524;--info:#4c8dff;--crit:#e5484d;--accent:#ff5a1f;--accent-hi:#ff8a50;--accent-wash:rgba(255,90,31,0.15);--accent-wash-soft:rgba(255,90,31,0.08);--r-sm:8px;--r-md:12px;--r-lg:18px;--r-pill:999px;--shadow-card:0 1px 2px rgba(20,22,26,0.04),0 10px 28px -12px rgba(20,22,26,0.1);--rail-w:296px;--rail-w-collapsed:84px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{display:flex;flex-direction:column;height:100vh;min-height:560px}.topbar{gap:16px;height:60px;min-height:60px;padding:0 20px;background:var(--paper-raised);border-bottom:1px solid var(--line);position:relative;z-index:30}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px}.brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(155deg,var(--accent) 0,#c93d0e 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px -3px rgba(255,90,31,.55);flex:none;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-mark svg{width:16px;height:16px}.workspace{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 4px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease}.workspace:hover{background:var(--paper-sunken);border-color:var(--line)}.workspace-name{font-size:14px;font-weight:650;letter-spacing:-.01em;line-height:1.1}.workspace-unit{font-size:11.5px;color:var(--ink-faint);line-height:1.2;margin-top:1px}.workspace>svg{width:13px;height:13px;color:var(--ink-faint);margin-left:2px;flex:none}.topbar-spacer{flex:1 1}.search{display:flex;align-items:center;gap:8px;width:min(360px,32vw);height:36px;padding:0 12px;background:var(--paper-sunken);border:1px solid transparent;border-radius:var(--r-pill);color:var(--ink-faint);transition:border-color .15s ease,background .15s ease}.search:focus-within{border-color:var(--line-strong);background:var(--paper-raised)}.search svg{width:15px;height:15px;flex:none}.search input{border:0;outline:0;background:transparent;font-size:13.5px;color:var(--ink);width:100%;font-family:inherit}.search input::placeholder{color:var(--ink-faint)}.search kbd{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:10.5px;color:var(--ink-faint);background:var(--paper-raised);border:1px solid var(--line-strong);padding:1px 5px;border-radius:5px;flex:none}@media (max-width:980px){.search{display:none}}.icon-btn{width:34px;height:34px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;position:relative;transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--paper-sunken);color:var(--ink)}.icon-btn svg{width:18px;height:18px}.icon-btn .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--accent);border:1.5px solid var(--paper-raised)}.profile{position:relative}.profile-trigger{display:flex;align-items:center;gap:9px;padding:5px 10px 5px 5px;border-radius:var(--r-pill);border:1px solid transparent;background:transparent;transition:background .15s ease,border-color .15s ease}.profile-trigger:hover{background:var(--paper-sunken);border-color:var(--line)}.avatar{width:32px;height:32px;border-radius:50%;flex:none;position:relative;background:linear-gradient(155deg,var(--accent-hi),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;letter-spacing:.02em}.profile-id{text-align:left;line-height:1.2}.profile-name{font-size:13px;font-weight:650}.profile-role{font-size:11px;color:var(--ink-faint)}.profile-trigger>svg{width:13px;height:13px;color:var(--ink-faint);transition:transform .18s ease;flex:none}.profile-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.menu{position:absolute;top:calc(100% + 10px);right:0;width:228px;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 12px 32px -8px rgba(10,11,13,.35),0 2px 8px rgba(10,11,13,.18);padding:8px;z-index:50;transform-origin:top right;opacity:0;transform:scale(.94) translateY(-6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.menu.open{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;background:transparent;border-radius:var(--r-sm);font-size:13.5px;color:var(--ink);text-align:left;transition:background .12s ease}.menu-item:hover{background:var(--paper-sunken)}.menu-item svg{width:16px;height:16px;color:var(--ink-faint);flex:none}.menu-item.danger,.menu-item.danger svg{color:var(--crit)}.menu-item[aria-disabled=true]{color:var(--ink-faint);cursor:default}.menu-item[aria-disabled=true]:hover{background:transparent}.menu-item[aria-disabled=true] svg{color:var(--ink-faint)}.menu-sep{height:1px;background:var(--line);margin:6px 4px}.shell{flex:1 1;display:flex;min-height:0}.canvas{flex:1 1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:28px 32px 48px}.rail{width:var(--rail-w);flex:none;background:var(--graphite);color:var(--rail-text);display:flex;flex-direction:column;position:relative;border-left:1px solid var(--graphite-line);transition:width .28s ease}.rail.collapsed{width:var(--rail-w-collapsed)}.rail-scroll{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:14px 12px 10px}.rail-scroll::-webkit-scrollbar{width:8px}.rail-scroll::-webkit-scrollbar-thumb{background:var(--graphite-hover);border-radius:8px}.rail-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;margin:0 2px 14px;background:var(--graphite-raised);border:1px solid var(--graphite-line);border-radius:var(--r-md);color:var(--rail-text-dim)}.rail-search svg{width:14px;height:14px;flex:none}.rail-search span{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail.collapsed .rail-search{justify-content:center;padding:0}.rail.collapsed .rail-search span{display:none}.group{margin-bottom:2px}.group-btn{width:100%;display:flex;align-items:center;gap:11px;padding:9px 10px;text-decoration:none;background:transparent;border:0;border-radius:var(--r-md);color:var(--rail-text);transition:background .14s ease,color .14s ease}.group-btn:hover{background:var(--graphite-raised);color:#fff}.group.active>.group-btn{background:var(--accent-wash);color:#fff}.group.active>.group-btn .g-icon{background:var(--accent);color:#fff}.g-icon{width:28px;height:28px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--graphite-raised);color:var(--rail-text-dim);transition:background .14s ease,color .14s ease}.g-icon svg{width:15px;height:15px}.g-label{flex:1 1;min-width:0;text-align:left;font-size:13.5px;font-weight:600;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g-chev{flex:none;width:13px;height:13px;color:var(--rail-text-dim);transition:transform .22s ease}.group.open>.group-btn .g-chev{transform:rotate(180deg)}.g-kids-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s ease}.group.open .g-kids-wrap{grid-template-rows:1fr}.g-kids{overflow:hidden;min-height:0}.g-kids-inner{margin:2px 0 6px 24px;padding-left:13px;border-left:1px solid var(--graphite-line);display:flex;flex-direction:column;gap:1px}.kid{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;padding:7px 10px;border-radius:7px;font-size:12.5px;color:var(--rail-text-dim);transition:background .12s ease,color .12s ease}.kid:hover{background:var(--graphite-raised);color:#fff}.rail.collapsed .g-chev,.rail.collapsed .g-kids-wrap,.rail.collapsed .g-label{display:none}.rail.collapsed .group-btn{justify-content:center;padding:9px}.rail-foot{border-top:1px solid var(--graphite-line);padding:10px 12px;display:flex;align-items:center;gap:8px}.rail.collapsed .rail-foot{justify-content:center}.collapse-btn{display:flex;align-items:center;gap:9px;flex:1 1;padding:8px 10px;background:transparent;border:1px solid var(--graphite-line);border-radius:var(--r-md);color:var(--rail-text-dim);font-size:12px;font-weight:600;transition:background .14s ease,color .14s ease,border-color .14s ease}.collapse-btn:hover{background:var(--graphite-raised);color:#fff;border-color:var(--graphite-line-soft,var(--graphite-line))}.collapse-btn svg{width:14px;height:14px;flex:none;transition:transform .28s ease}.rail.collapsed .collapse-btn svg{transform:rotate(180deg)}.rail.collapsed .collapse-btn span{display:none}.rail.collapsed .collapse-btn{flex:none;padding:8px}@media (max-width:980px){:root{--rail-w:280px}}@media (max-width:860px){.rail{position:fixed;top:60px;right:0;bottom:0;z-index:40;box-shadow:-16px 0 40px -12px rgba(0,0,0,.35);transform:translateX(100%);transition:transform .3s ease}.rail.mobile-open{transform:translateX(0)}.rail.collapsed{width:var(--rail-w)}.rail.collapsed .g-chev,.rail.collapsed .g-kids-wrap,.rail.collapsed .g-label{display:revert}.rail.collapsed .group-btn{justify-content:flex-start;padding:9px 10px}.rail.collapsed .collapse-btn span{display:inline}.rail.collapsed .collapse-btn{flex:1 1;padding:8px 10px}.rail-scrim{position:fixed;inset:60px 0 0 0;background:rgba(10,11,13,.35);z-index:39;opacity:0;pointer-events:none;transition:opacity .3s ease}.rail-scrim.show{opacity:1;pointer-events:auto}.canvas{padding:22px 18px 40px}.workspace-name{font-size:13px}}@media (max-width:560px){.topbar{padding:0 12px;gap:10px}.profile-id{display:none}}.rail-toggle-mobile{display:none}@media (max-width:860px){.rail-toggle-mobile{display:flex}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}