.shell{display:flex;min-height:100vh;background:var(--bg-light)}.shell__rail-wrap{flex:0 0 236px;width:236px;transition:width .18s ease,flex-basis .18s ease}.shell.is-rail-collapsed .shell__rail-wrap{flex-basis:64px;width:64px}.shell-rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--bg-white);border-right:1px solid var(--border-color);overflow-y:auto}.shell-rail.is-collapsed .shell-rail__logo-sub,.shell-rail.is-collapsed .shell-rail__nav-label,.shell-rail.is-collapsed .shell-rail__new-task,.shell-rail.is-collapsed .shell-rail__section-title,.shell-rail.is-collapsed .shell-rail__task{display:none}.shell-rail__brand{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.shell-rail__logo{display:flex;align-items:baseline;gap:6px;color:var(--primary-color);font-weight:700;text-decoration:none}.shell-rail__logo-text{font-size:20px}.shell-rail__logo-sub{font-size:12px;color:var(--text-tertiary);font-weight:400}.shell-rail__new-task{border:1px solid var(--primary-color);color:var(--primary-color);background:var(--bg-white);border-radius:var(--border-radius-sm);padding:6px 10px;cursor:pointer;font-size:13px}.shell-rail__new-task:hover{background:var(--brand-light)}.shell-rail__nav{padding:var(--spacing-sm);display:flex;flex-direction:column;gap:2px}.shell-rail__nav-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--border-radius-sm);color:var(--text-primary);text-decoration:none;font-size:14px;background:transparent;border:none;cursor:pointer;width:100%;text-align:left}.shell-rail__nav-item:hover{background:var(--hover-bg)}.shell-rail__nav-item.is-active{color:var(--primary-color);background:var(--brand-light);font-weight:600}.shell-rail__badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:var(--border-radius-pill);background:var(--primary-color);color:#fff;font-size:11px;line-height:18px;text-align:center}.shell-rail__sub{display:flex;flex-direction:column;padding:2px 0 6px 18px}.shell-rail__sub-item{padding:6px 8px;font-size:13px;color:var(--text-secondary);text-decoration:none;border-radius:var(--border-radius-sm)}.shell-rail__sub-item:hover{background:var(--hover-bg);color:var(--primary-color)}.shell-rail__tasks{flex:1;min-height:40px;padding:var(--spacing-sm);border-top:1px solid var(--border-light)}.shell-rail__section-title{font-size:12px;color:var(--text-tertiary);padding:4px 10px}.shell-rail__empty{font-size:12px;color:var(--text-tertiary);padding:8px 10px}.shell-rail__task{position:relative;display:flex;align-items:center;border-radius:var(--border-radius-sm)}.shell-rail__task:hover{background:var(--hover-bg)}.shell-rail__task.is-active{background:var(--brand-light)}.shell-rail__task-link{flex:1;padding:7px 10px;font-size:13px;color:var(--text-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-rail__task-input{flex:1;margin:4px;font-size:13px;padding:3px 6px}.shell-rail__task-more{border:none;background:transparent;cursor:pointer;color:var(--text-tertiary);padding:0 8px}.shell-rail__task-menu{position:absolute;right:4px;top:100%;z-index:20;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;min-width:96px}.shell-rail__task-menu button{border:none;background:transparent;text-align:left;padding:8px 12px;font-size:13px;cursor:pointer}.shell-rail__task-menu button:hover{background:var(--hover-bg)}.shell-rail__account{padding:var(--spacing-md);border-top:1px solid var(--border-light)}.shell-rail__login{width:100%;padding:8px;border-radius:var(--border-radius-sm);border:none;background:var(--primary-color);color:#fff;cursor:pointer;font-size:13px}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column}.shell-main__header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--spacing-md);padding:12px var(--spacing-lg);background:var(--bg-white);border-bottom:1px solid var(--border-color)}.shell-main__header-main{display:flex;align-items:baseline;gap:10px}.shell-main__title{font-size:18px;font-weight:700;margin:0}.shell-main__subtitle{font-size:12px;color:var(--text-tertiary)}.shell-main__header-search{flex:1;max-width:560px}.shell-main__header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.shell-main__body{flex:1;min-width:0}.shell-main.is-full .shell-main__body{padding:0}.shell__collapse-btn{border:1px solid var(--border-color);background:var(--bg-white);border-radius:var(--border-radius-sm);cursor:pointer;padding:2px 8px;color:var(--text-secondary)}.shell__drawer-toggle{display:none}@media (max-width:960px){.shell__rail-wrap{position:fixed;inset:0 auto 0 0;z-index:1000;transform:translateX(-100%);transition:transform .2s ease}.shell__rail-wrap.is-open{transform:translateX(0)}.shell__drawer-toggle{display:block;position:fixed;top:12px;left:12px;z-index:1001;width:36px;height:36px;border-radius:var(--border-radius-sm);border:1px solid var(--border-color);background:var(--bg-white);cursor:pointer}.shell-main__header{padding-left:56px}}.shell-workbench-empty{padding:var(--spacing-xl) var(--spacing-lg)}.shell-workbench-empty__hint{font-size:15px;color:var(--text-secondary);margin:0 0 8px}.shell-workbench-empty__sub{font-size:13px;color:var(--text-tertiary);margin:0}