.app-shell{--brand-w:var(--size-sidebar-panel);grid-template-columns:var(--brand-w) 1fr;grid-template-rows:56px 1fr;height:100dvh;display:grid;overflow:hidden}.sidebar{background:var(--bg-panel);border-right:1px solid var(--border-container);flex-direction:column;grid-area:2/1/3/2;min-height:0;display:flex;overflow-y:auto}.brand-mark{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:6px;flex-shrink:0;width:24px;height:24px}.brand-wordmark{font-size:var(--t-body-lg-size);letter-spacing:-.01em;color:var(--text-primary);font-weight:600}.workspace-picker{border-radius:var(--radius-6);text-align:left;width:calc(100% - 16px);color:var(--text-primary);background:0 0;border:0;align-items:center;gap:10px;margin:12px 8px 8px;padding:8px 10px;font-family:inherit;display:flex}.workspace-picker__name{font-size:var(--t-body-size);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.005em;flex:1;font-weight:600;overflow:hidden}.sidebar__nav{flex-direction:column;flex:1;gap:1px;padding:4px 8px;display:flex}.sidebar__divider{background:var(--border-container);flex-shrink:0;height:1px;margin:8px 10px}.nav-item{border-radius:var(--radius-6);height:36px;color:var(--text-secondary);font-size:var(--t-label-size);cursor:pointer;transition:color var(--dur-150) var(--ease-primary), background var(--dur-150) var(--ease-primary);align-items:center;gap:12px;padding:0 10px;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item__icon{font-size:18px;display:inline-flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-body)}.nav-item--active{color:var(--text-primary);background:var(--bg-nav-active)}.sidebar__user-wrap{margin-top:auto;position:relative}.sidebar__user{border-top:1px solid var(--border-container);cursor:pointer;align-items:center;gap:8px;padding:12px;display:flex}.sidebar__user:hover{background:var(--bg-hover)}.avatar{border-radius:var(--radius-full);width:28px;height:28px;color:var(--text-primary);font-size:var(--t-caption-size);letter-spacing:0;background:linear-gradient(135deg,#3a3f55 0%,#262a3b 100%);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 .5px #ffffff1a}.avatar--lg{width:32px;height:32px;font-size:var(--t-body-sm-size)}.avatar--sm{width:24px;height:24px;font-size:10px}.avatar--xs{width:18px;height:18px;font-size:9px}.avatar--xl{width:56px;height:56px;font-size:var(--t-h6-size);letter-spacing:-.01em;font-weight:700;box-shadow:inset 0 0 0 .5px #ffffff29}.avatar--square{border-radius:22%}.avatar--indigo{background:var(--avatar-grad-indigo)}.avatar--orange{background:var(--avatar-grad-orange)}.avatar--teal{background:var(--avatar-grad-teal)}.avatar--pink{background:var(--avatar-grad-pink)}.avatar--green{background:var(--avatar-grad-green)}.avatar--maroon{background:var(--avatar-grad-maroon)}.avatar--purple{background:var(--avatar-grad-purple)}.avatar--photo{background:0 0;overflow:hidden}.avatar__img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.avatar--inactive{filter:grayscale();opacity:.5}.sidebar__user-meta{flex-direction:column;min-width:0;display:flex}.sidebar__user-name{font-size:var(--t-body-size);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-weight:500;overflow:hidden}.sidebar__user-role{font-size:var(--t-body-sm-size);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.content{scrollbar-gutter:stable;flex-direction:column;grid-area:2/2/3/3;min-width:0;min-height:0;display:flex;overflow-y:auto}.content:has(.proj-detail){scrollbar-gutter:auto}@media (min-width:641px){.content:has(.pj-colhead){scroll-padding-top:var(--size-button-md)}.content:has(.my-work .wlist__header){scroll-padding-top:33px}}.topbar{grid-area:1/1/2/-1;grid-template-columns:var(--brand-w) 1fr auto;background:var(--bg-panel);border-bottom:1px solid var(--border-container);z-index:50;align-items:stretch;height:56px;display:grid}.topbar__brand{border-right:1px solid var(--border-container);align-items:center;gap:10px;min-width:0;padding:0 8px 0 20px;display:flex}.topbar__brand-home{min-width:0;color:inherit;border-radius:var(--radius-6);align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:inline-flex}.topbar__brand-home:hover{opacity:.8}.topbar__brand .brand-wordmark{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar__bell{border-radius:var(--radius-6);width:36px;height:36px;color:var(--text-body);cursor:pointer;transition:background var(--dur-150), color var(--dur-150);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:relative}.topbar__bell:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar__bell:active{transform:scale(.96)}.topbar__bell-wrap{flex-shrink:0;display:inline-flex;position:relative}.topbar__bell-badge,.nav-item__badge{border-radius:var(--radius-full);background:var(--alert-error-fill);min-width:16px;height:16px;color:var(--text-primary);text-align:center;letter-spacing:0;padding:0 4px;font-size:10px;font-weight:600;line-height:16px}.topbar__bell-badge{box-shadow:0 0 0 2px var(--bg-panel);pointer-events:none;position:absolute;top:2px;right:2px}.nav-item__badge{flex-shrink:0;margin-left:auto}.notif-scrim{z-index:1100;animation:ui-fade-in var(--dur-150) var(--ease-primary);position:fixed;inset:0}.notif-scrim.is-closing{animation:ui-fade-out var(--dur-200) var(--ease-primary) both}.notif-drawer{background:var(--bg-popover);border:1px solid var(--border-container);border-radius:var(--radius-10);width:360px;max-width:calc(100vw - 24px);max-height:min(70vh,560px);box-shadow:var(--shadow-12dp);z-index:1200;transform-origin:0 0;animation:ui-pop-in var(--dur-200) var(--ease-primary);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.notif-drawer.is-closing{animation:ui-pop-out var(--dur-200) var(--ease-primary) both}.notif-drawer__head{border-bottom:1px solid var(--border-container);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notif-drawer__title{font-size:var(--t-body-size);color:var(--text-primary);letter-spacing:-.005em;font-weight:600}.notif-drawer__list{min-height:0;padding:4px;overflow-y:auto}.notif-drawer:focus{outline:none}.notif-drawer__skeleton-row{align-items:flex-start;gap:10px;padding:10px;display:flex}.notif-drawer__skeleton-lines{flex-direction:column;flex:1;gap:8px;min-width:0;padding-top:2px;display:flex}.notif-drawer__more{justify-content:center;padding:8px 10px 10px;display:flex}.notif-row-wrap{position:relative}.notif-row{border-radius:var(--radius-6);cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--text-body);transition:background var(--dur-150);background:0 0;border:0;align-items:flex-start;gap:10px;padding:10px;display:flex}.notif-row:hover:not(:disabled){background:var(--bg-hover)}.notif-row:disabled{cursor:default}.notif-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-row__title{font-size:var(--t-body-size);color:var(--text-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.notif-row--unread .notif-row__title{color:var(--text-primary);font-weight:500}.notif-row__subject,.notif-row__container{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.notif-row__subject{font-size:var(--t-body-sm-size);color:var(--text-body);line-height:1.35}.notif-row__container{font-size:var(--t-caption-size);color:var(--text-tertiary)}.notif-row--unread{background:color-mix(in srgb, var(--accent-primary) 6%, transparent)}.notif-row--unread:hover:not(:disabled){background:color-mix(in srgb, var(--accent-primary) 12%, transparent)}.notif-row__meta{flex-shrink:0;align-items:center;gap:6px;padding-top:1px;display:flex}.notif-row__time{font-size:var(--t-caption-size);color:var(--text-tertiary);white-space:nowrap}.notif-row__dot{border-radius:var(--radius-full);background:var(--accent-primary);flex-shrink:0;width:7px;height:7px}.notif-row__hover-actions{background:var(--bg-popover);border:1px solid var(--border-container);border-radius:var(--radius-6);box-shadow:var(--shadow-8dp);z-index:5;gap:1px;padding:1px;display:none;position:absolute;bottom:6px;right:6px}.notif-row-wrap:hover .notif-row__hover-actions,.notif-row-wrap:focus-within .notif-row__hover-actions{display:flex}.notif-row__action{border-radius:var(--radius-4);width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-150), color var(--dur-150);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:none){.notif-row__hover-actions{display:flex}.notif-row__action{width:24px;height:24px}}.notif-row__action:hover{background:var(--bg-hover);color:var(--text-body)}.notif-row__action[data-tooltip=Delete]:hover{background:var(--bg-danger-hover);color:var(--text-error)}.notif-drawer__menu-wrap{position:relative}.notif-drawer__menu-scrim{z-index:9;position:fixed;inset:0}.notif-drawer__menu{background:var(--bg-popover);border:1px solid var(--border-container);border-radius:var(--radius-8);min-width:168px;box-shadow:var(--shadow-12dp);z-index:10;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.topbar__path{align-items:center;min-width:0;padding:0 32px;display:flex}.topbar__actions{flex-shrink:0;align-items:center;gap:10px;padding:0 16px;display:flex}.breadcrumb{font-size:var(--t-body-size);align-items:center;gap:1px;min-width:0;display:flex;overflow:hidden}.breadcrumb__seg{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-4);font:inherit;transition:color var(--dur-150), background var(--dur-150);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;max-width:280px;padding:5px 8px;font-weight:500;text-decoration:none;display:block;overflow:hidden}.breadcrumb__seg:hover{color:var(--text-body);background:var(--bg-hover)}.breadcrumb__seg--current{color:var(--text-primary);cursor:default;font-weight:600}.breadcrumb__seg--current:hover{color:var(--text-primary);background:0 0}.breadcrumb__sep{color:var(--text-disabled);flex-shrink:0;justify-content:center;align-items:center;padding:0 2px;display:inline-flex}.breadcrumb-slot{display:contents}.topbar__path .panel-path{font-size:var(--t-body-size);align-items:center;gap:1px;min-width:0;display:flex;overflow:hidden}.topbar__path .panel-path>span{min-width:0}.topbar__path .panel-path__seg{color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-4);font:inherit;transition:color var(--dur-150), background var(--dur-150);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:4px;max-width:240px;padding:5px 8px;font-weight:500;display:inline-flex;overflow:hidden}.topbar__path .panel-path__seg>span{text-overflow:ellipsis;overflow:hidden}.topbar__path .panel-path__seg:hover{color:var(--text-body);background:var(--bg-hover)}.topbar__path .panel-path__seg:focus-visible{outline:2px solid var(--accent-light);outline-offset:-2px}.topbar__path .panel-path__seg--current{color:var(--text-primary);font-weight:600}.topbar__path .panel-path__seg--current svg{color:var(--text-tertiary);flex-shrink:0}.topbar__path .panel-path__seg[data-drop-target=true]{color:var(--text-primary);background:var(--bg-hover);box-shadow:inset 0 0 0 1.5px var(--accent-primary)}.app-search{background:var(--bg-base);border:1px solid var(--border-container);border-radius:var(--radius-full);width:224px;height:32px;transition:border-color var(--dur-150), background var(--dur-150);align-items:center;gap:8px;padding:0 12px;display:flex}.app-search:hover{border-color:var(--border-secondary)}.app-search:focus-within{border-color:var(--accent-primary);background:var(--bg-modal)}.app-search>i,.app-search>svg{color:var(--text-tertiary);font-size:var(--t-label-size);flex-shrink:0}.app-search input{font:inherit;font-size:var(--t-body-size);color:var(--text-primary);background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0}.app-search input::placeholder{color:var(--text-tertiary)}.user-menu{background:var(--bg-popover);border:1px solid var(--border-container);border-radius:var(--radius-8);box-shadow:var(--shadow-12dp);z-index:1200;transform-origin:bottom;animation:ui-pop-in var(--dur-150) var(--ease-primary);padding:6px;position:absolute;bottom:calc(100% - 4px);left:8px;right:8px}.user-menu.is-closing{animation:ui-pop-out var(--dur-150) var(--ease-primary) both}.sidebar__user{appearance:none;border:0;border-top:1px solid var(--border-container);width:100%;font:inherit;color:inherit;text-align:left;background:0 0}.sidebar__user.is-menu-open{background:var(--bg-popover)}.sidebar__user-caret{font-size:var(--t-label-size);color:var(--text-tertiary);flex-shrink:0;margin-left:auto}