.portal-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;background:var(--portal-bg-app)}.portal-shell--sidebar-collapsed{grid-template-columns:56px 1fr}.portal-main{min-width:0;background:var(--portal-bg-surface)}.portal-main,.portal-sidebar{display:flex;flex-direction:column}.portal-sidebar{background:var(--portal-bg-sidebar);border-right:1px solid var(--portal-border-subtle);overflow:hidden;transition:width var(--dur-slow) var(--ease-spring)}.portal-sidebar__workspace{display:flex;align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-5);border-bottom:1px solid var(--portal-border-subtle);font-size:var(--portal-type-h4-size);font-weight:var(--portal-type-h4-weight)}.portal-sidebar__workspace-logo{width:24px;height:24px;border-radius:var(--radius-sm);background:var(--portal-accent);color:var(--portal-text-on-accent);display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}.portal-sidebar__search{display:flex;align-items:center;gap:var(--space-3);height:32px;margin:var(--space-5) var(--space-4) var(--space-4);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--portal-bg-overlay);color:var(--portal-text-tertiary);font-size:var(--portal-type-body-sm-size);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick)}.portal-sidebar__search:hover{background:var(--portal-bg-selected)}.portal-sidebar__search-kbd{margin-left:auto;font-family:var(--portal-font-mono);font-size:11px;color:var(--portal-text-quaternary);background:var(--portal-bg-app);border:1px solid var(--portal-border-default);border-radius:var(--radius-xs);padding:0 var(--space-3);line-height:16px}.portal-sidebar__nav{flex:1 1;overflow-y:auto;padding:0 var(--space-2) var(--space-5)}.portal-sidebar__section{padding:var(--space-4) var(--space-3) var(--space-2)}.portal-sidebar__section-title{font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);color:var(--portal-text-tertiary);text-transform:uppercase;margin-bottom:var(--space-3)}.portal-sidebar__item,.portal-sidebar__section-title{padding:0 var(--space-3);display:flex;align-items:center;gap:var(--space-3)}.portal-sidebar__item{height:28px;border-radius:var(--radius-md);color:var(--portal-text-secondary);font-size:var(--portal-type-body-sm-size);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-sidebar__item:hover{background:var(--portal-bg-overlay);color:var(--portal-text-primary)}.portal-sidebar__item--active{background:var(--portal-bg-selected);color:var(--portal-text-primary);font-weight:var(--portal-type-body-strong-weight)}.portal-sidebar__item-icon{flex-shrink:0;color:var(--portal-text-tertiary)}.portal-sidebar__item--active .portal-sidebar__item-icon{color:var(--portal-text-primary)}.portal-sidebar__item-badge{margin-left:auto;font-size:11px;background:var(--portal-bg-app);color:var(--portal-text-secondary);padding:1px var(--space-3);border-radius:var(--radius-full)}.portal-sidebar__badge{background:var(--portal-status-red);color:#fff;font-weight:600}.portal-sidebar__footer{border-top:1px solid var(--portal-border-subtle);padding:var(--space-3);display:flex;align-items:center;gap:var(--space-3)}.portal-topbar{display:flex;align-items:center;gap:var(--space-5);height:48px;padding:0 var(--space-6);border-bottom:1px solid var(--portal-border-subtle);background:var(--portal-bg-surface)}.portal-topbar__breadcrumb{display:flex;align-items:center;gap:var(--space-3);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary)}.portal-topbar__breadcrumb-sep{color:var(--portal-text-quaternary)}.portal-topbar__breadcrumb-active{color:var(--portal-text-primary)}.portal-topbar__spacer{flex:1 1}.portal-topbar__tabs{display:flex;align-items:center;background:var(--portal-bg-overlay);border-radius:var(--radius-md);padding:2px;gap:2px}.portal-topbar__tab{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);padding:4px var(--space-4);border-radius:var(--radius-sm);cursor:pointer}.portal-topbar__tab--active{background:var(--portal-bg-selected);color:var(--portal-text-primary)}.portal-btn{display:inline-flex;align-items:center;gap:var(--space-3);height:28px;padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--portal-bg-overlay);color:var(--portal-text-primary);font-size:var(--portal-type-body-sm-size);font-weight:500;cursor:pointer;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-quick)}.portal-btn:hover{background:var(--portal-bg-selected)}.portal-btn--primary{background:var(--portal-accent);color:var(--portal-text-on-accent)}.portal-btn--primary:hover{background:var(--portal-accent-hover)}.portal-btn--ghost{background:transparent;color:var(--portal-text-secondary)}.portal-btn--ghost:hover{background:var(--portal-bg-overlay)}.portal-btn--icon{width:28px;padding:0;justify-content:center}.portal-priority-icon,.portal-status-icon{display:inline-flex;vertical-align:middle}.portal-label-chip{display:inline-flex;align-items:center;gap:var(--space-3);height:20px;padding:0 var(--space-4);border-radius:var(--radius-full);font-size:var(--portal-type-caption-size);font-weight:var(--portal-type-caption-weight);background:var(--portal-bg-overlay);color:var(--portal-text-secondary)}.portal-label-chip__dot{width:6px;height:6px;border-radius:var(--radius-full)}.portal-label-chip--bare{background:transparent;padding:0}.portal-avatar{width:20px;height:20px;border-radius:var(--radius-full);display:inline-grid;place-items:center;font-size:10px;font-weight:600;color:#ffffff;flex-shrink:0;overflow:hidden}.portal-avatar--md{width:24px;height:24px;font-size:11px}.portal-avatar--lg{width:32px;height:32px;font-size:12px}.portal-avatar img{width:100%;height:100%;object-fit:cover}.portal-avatar-stack{display:inline-flex;align-items:center}.portal-avatar-stack .portal-avatar{border:1.5px solid var(--portal-bg-surface);margin-left:-6px}.portal-avatar-stack .portal-avatar:first-child{margin-left:0}.portal-board{display:flex;gap:var(--space-5);overflow-x:auto;padding:var(--space-5);flex:1 1;align-items:stretch}.portal-board__column{width:300px;flex-shrink:0;display:flex;flex-direction:column;background:var(--portal-bg-app);border-radius:var(--radius-lg);border:1px solid var(--portal-border-subtle)}.portal-board__column--drop-target{border-color:var(--portal-border-focus);box-shadow:inset 0 0 0 1px var(--portal-border-focus)}.portal-board__column-header{display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-5);font-size:var(--portal-type-body-sm-size);font-weight:600;color:var(--portal-text-primary)}.portal-board__column-count{color:var(--portal-text-tertiary);font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-board__column-actions{margin-left:auto;display:flex;gap:var(--space-2)}.portal-board__column-body{flex:1 1;overflow-y:auto;padding:0 var(--space-3) var(--space-3)}.portal-board__card,.portal-board__column-body{display:flex;flex-direction:column;gap:var(--space-3)}.portal-board__card{background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),transform var(--dur-base) var(--ease-spring)}.portal-board__card:hover{background:var(--portal-bg-overlay);border-color:var(--portal-border-default)}.portal-board__card[data-dragging=true]{transform:scale(1.02);box-shadow:var(--shadow-md)}.portal-board__card-top,.portal-board__card-top-right{display:flex;align-items:center;gap:var(--space-3)}.portal-board__card-top-right{margin-left:auto}.portal-board__card-title{font-size:var(--portal-type-body-strong-size);font-weight:var(--portal-type-body-strong-weight);color:var(--portal-text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portal-board__card-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--portal-type-caption-size);color:var(--portal-text-tertiary)}.portal-board__card-id{font-family:var(--portal-font-mono);font-size:var(--portal-type-mono-id-size);color:var(--portal-text-tertiary)}.portal-board__card-labels{display:flex;flex-wrap:wrap;gap:var(--space-3)}.portal-issue-list{width:100%;border-collapse:collapse;font-size:var(--portal-type-body-sm-size)}.portal-issue-list__group-header{display:flex;gap:var(--space-3);font-size:var(--portal-type-caption-size);font-weight:600;color:var(--portal-text-secondary);background:var(--portal-bg-app)}.portal-issue-list__group-header,.portal-issue-list__row{align-items:center;height:32px;padding:0 var(--space-6);border-bottom:1px solid var(--portal-border-subtle);cursor:pointer}.portal-issue-list__row{display:grid;grid-template-columns:24px 24px 80px minmax(0,1fr) auto auto auto 70px;grid-gap:var(--space-4);gap:var(--space-4);color:var(--portal-text-primary);transition:background var(--dur-fast) var(--ease-quick)}.portal-issue-list__row:hover{background:var(--portal-bg-overlay)}.portal-issue-list__row--selected{background:var(--portal-bg-selected)}.portal-issue-list__row-id{font-family:var(--portal-font-mono);font-size:var(--portal-type-mono-id-size);color:var(--portal-text-tertiary)}.portal-issue-list__row-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-issue-list__row-updated{font-size:var(--portal-type-caption-size);color:var(--portal-text-tertiary);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-roadmap{display:grid;grid-template-columns:240px 1fr;height:100%;overflow:hidden}.portal-roadmap__rail{border-right:1px solid var(--portal-border-subtle);overflow-y:auto}.portal-roadmap__row{height:40px;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5);border-bottom:1px solid var(--portal-border-subtle);font-size:var(--portal-type-body-sm-size)}.portal-roadmap__timeline{position:relative;overflow:auto}.portal-roadmap__bar{position:absolute;height:16px;border-radius:var(--radius-md);display:flex;align-items:center;padding:0 var(--space-3);font-size:11px;color:var(--portal-text-on-accent);cursor:pointer;text-decoration:none;transition:transform var(--dur-fast) var(--ease-quick),filter var(--dur-fast) var(--ease-quick);white-space:nowrap;overflow:hidden}.portal-roadmap__bar:hover{filter:brightness(1.1);transform:translateY(-1px)}.portal-roadmap__bar--no-dates{background:transparent!important;border:1px dashed var(--portal-border-subtle);color:var(--portal-text-tertiary)}.portal-roadmap__bar--no-dates:hover{filter:none;background:var(--portal-bg-overlay)!important}.portal-roadmap__bar-progress{position:absolute;top:0;bottom:0;left:0;background:rgba(255,255,255,.15);border-radius:inherit;pointer-events:none}.portal-roadmap__bar-label{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.portal-roadmap__bar-dates{opacity:.75;font-size:10px;margin-left:var(--space-3)}.portal-roadmap__row--link{text-decoration:none;color:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-quick);display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-5);border-bottom:1px solid var(--portal-border-subtle);font-size:var(--portal-type-body-sm-size)}.portal-roadmap__row--link:hover{background:var(--portal-bg-overlay)}.portal-roadmap__today{position:absolute;top:0;bottom:0;width:1px;background:var(--portal-accent);pointer-events:none}.portal-roadmap__today-label{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--portal-text-tertiary);white-space:nowrap;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal-roadmap__zoom{display:flex;align-items:center;background:var(--portal-bg-overlay);border-radius:var(--radius-md);padding:2px}.portal-roadmap__zoom-btn{font-size:var(--portal-type-caption-size);padding:4px var(--space-3);border-radius:var(--radius-sm);color:var(--portal-text-tertiary)}.portal-roadmap__zoom-btn--active{background:var(--portal-bg-selected);color:var(--portal-text-primary)}.portal-issue-panel{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:100vw;background:var(--portal-bg-raised);border-left:1px solid var(--portal-border-default);box-shadow:var(--shadow-lg);z-index:50;display:flex;flex-direction:column;transform:translateX(0);transition:transform var(--dur-base) var(--ease-spring)}.portal-issue-panel[data-state=closed]{transform:translateX(100%)}@media (max-width:1280px){.portal-issue-panel{width:480px}}@media (max-width:1024px){.portal-issue-panel{width:100vw}}.portal-issue-panel__header{display:flex;align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-6);border-bottom:1px solid var(--portal-border-subtle);font-size:var(--portal-type-body-sm-size)}.portal-issue-panel__body{flex:1 1;overflow-y:auto;padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}.portal-issue-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:var(--space-8);gap:var(--space-8);max-width:1200px;margin:0 auto;padding:var(--space-8)}.portal-issue-page__main{min-width:0;max-width:720px}.portal-issue-page__rail{border-left:1px solid var(--portal-border-subtle);padding-left:var(--space-6)}.portal-issue-title{font-size:var(--portal-type-h2-size);font-weight:var(--portal-type-h2-weight);letter-spacing:var(--portal-type-h2-tracking);line-height:var(--portal-type-h2-line);color:var(--portal-text-primary);margin:0 0 var(--space-5)}.portal-issue-description{line-height:var(--portal-type-body-line)}.portal-rail-row{display:grid;grid-template-columns:100px 1fr;align-items:center;padding:var(--space-3) 0;font-size:var(--portal-type-body-sm-size)}.portal-rail-row__label{color:var(--portal-text-tertiary)}.portal-rail-row__value{color:var(--portal-text-primary)}.portal-activity{border-left:1px solid var(--portal-border-subtle);padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);margin-left:8px}.portal-activity__row{position:relative;display:flex;align-items:flex-start;gap:var(--space-4);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary)}.portal-activity__icon{position:absolute;left:calc(-1 * var(--space-6) - 8px);width:16px;height:16px;border-radius:var(--radius-full);background:var(--portal-bg-overlay);border:1px solid var(--portal-border-default);display:grid;place-items:center;color:var(--portal-text-tertiary)}.portal-activity__time{color:var(--portal-text-tertiary);font-size:var(--portal-type-caption-size)}.portal-portfolio{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);overflow-y:auto}.portal-portfolio__lane{display:flex;flex-direction:column;background:var(--portal-bg-app);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-lg)}.portal-portfolio__lane-header{display:flex;align-items:center;gap:var(--space-4);height:40px;padding:0 var(--space-5);border-bottom:1px solid var(--portal-border-subtle)}.portal-portfolio__lane-body{display:flex;gap:var(--space-4);padding:var(--space-4);overflow-x:auto}.portal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-7);text-align:center;min-height:400px}.portal-empty,.portal-empty__art{color:var(--portal-text-tertiary)}.portal-empty__art{margin-bottom:var(--space-5)}.portal-empty__title{font-size:var(--portal-type-h3-size);font-weight:var(--portal-type-h3-weight);letter-spacing:var(--portal-type-h3-tracking);color:var(--portal-text-primary);margin:0 0 var(--space-3)}.portal-empty__desc{font-size:var(--portal-type-body-size);color:var(--portal-text-tertiary);max-width:400px;margin:0 0 var(--space-6);line-height:var(--portal-type-body-line)}.portal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-7);text-align:center;min-height:400px}.portal-error__title{font-size:var(--portal-type-h3-size);font-weight:var(--portal-type-h3-weight);color:var(--portal-status-red);margin:0 0 var(--space-3)}.portal-error__desc{font-size:var(--portal-type-body-size);color:var(--portal-text-secondary);max-width:480px;margin:0 0 var(--space-6)}.portal-error__request-id{font-family:var(--portal-font-mono);font-size:var(--portal-type-caption-size);color:var(--portal-text-tertiary);margin-top:var(--space-5)}@keyframes portal-pulse{0%,to{opacity:1}50%{opacity:.5}}.portal-skel{background:var(--portal-bg-overlay);border-radius:var(--radius-sm);animation:portal-pulse 1.4s var(--ease-linear) infinite}.portal-skel-card{height:96px;border-radius:var(--radius-lg);background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.portal-skel-row{height:32px;display:grid;grid-template-columns:80px minmax(0,1fr) auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center;padding:0 var(--space-6);border-bottom:1px solid var(--portal-border-subtle)}.portal-toaster{position:fixed;bottom:var(--space-7);right:var(--space-7);display:flex;flex-direction:column;gap:var(--space-3);z-index:100;pointer-events:none}.portal-toast{min-width:280px;max-width:420px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-primary);box-shadow:var(--shadow-md);pointer-events:auto;animation:portal-toast-in var(--dur-base) var(--ease-bounce)}.portal-toast--error{border-color:var(--portal-status-red);color:var(--portal-status-red)}.portal-toast--info{border-color:var(--portal-border-strong)}@keyframes portal-toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.portal-impersonation-banner{display:flex;align-items:center;gap:var(--space-4);font-size:var(--portal-type-body-sm-size);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--portal-status-amber)}.portal-impersonation-banner,.portal-impersonation-watermark{background:var(--portal-status-amber-bg);color:var(--portal-status-amber)}.portal-impersonation-watermark{position:fixed;bottom:var(--space-7);left:var(--space-7);pointer-events:none;z-index:99;font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);border:1px solid var(--portal-status-amber);opacity:.7}.portal-notion-chip{display:inline-flex;align-items:center;gap:var(--space-3);height:24px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--portal-type-caption-size);color:var(--portal-text-secondary);background:var(--portal-bg-overlay);text-decoration:none;transition:background var(--dur-fast) var(--ease-quick)}.portal-notion-chip:hover{background:var(--portal-bg-selected);color:var(--portal-text-primary)}.portal-cmd-overlay{position:fixed;inset:0;background:var(--portal-bg-overlay-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:start center;padding-top:15vh;z-index:200;animation:portal-fade-in var(--dur-fast) var(--ease-quick)}@keyframes portal-fade-in{0%{opacity:0}to{opacity:1}}.portal-cmd{width:100%;max-width:560px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.portal-cmd__input-row{display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);border-bottom:1px solid var(--portal-border-subtle);height:52px}.portal-cmd__search-icon{flex-shrink:0;color:var(--portal-text-tertiary)}.portal-cmd__input{flex:1 1;height:100%;background:transparent;border:0;color:var(--portal-text-primary);font-size:var(--portal-type-body-size);outline:none;min-width:0}.portal-cmd__input::placeholder{color:var(--portal-text-tertiary)}.portal-cmd__clear{flex-shrink:0;background:transparent;border:0;color:var(--portal-text-quaternary);font-size:12px;cursor:pointer;padding:2px var(--space-3);border-radius:var(--radius-sm);line-height:1}.portal-cmd__clear:hover{color:var(--portal-text-secondary);background:var(--portal-bg-overlay)}.portal-cmd__results{max-height:380px;overflow-y:auto;padding:var(--space-3)}.portal-cmd__hint{padding:var(--space-4) var(--space-5);color:var(--portal-text-tertiary);font-size:var(--portal-type-body-sm-size);margin:0}.portal-cmd__hint--loading{font-style:italic}.portal-cmd__section{margin-bottom:var(--space-3)}.portal-cmd__section-header{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-text-tertiary);padding:var(--space-3) var(--space-4) var(--space-2)}.portal-cmd__item{display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal-cmd__item--active{background:var(--portal-bg-overlay);color:var(--portal-text-primary)}.portal-cmd__item:hover{background:var(--portal-bg-raised);color:var(--portal-text-primary)}.portal-cmd__item--active:hover{background:var(--portal-bg-overlay)}.portal-cmd__item-icon{flex-shrink:0;color:var(--portal-text-tertiary)}.portal-cmd__item-name{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.portal-cmd__item-key{flex-shrink:0;font-family:var(--portal-font-mono);font-size:var(--portal-type-mono-id-size);color:var(--portal-text-tertiary)}.portal-cmd__item-key--badge{background:var(--portal-bg-overlay);border-radius:var(--radius-xs);padding:1px var(--space-3);color:var(--portal-text-secondary)}.portal-cmd__item-hint{flex-shrink:0;font-size:11px;color:var(--portal-text-quaternary);background:var(--portal-bg-app);border:1px solid var(--portal-border-default);border-radius:var(--radius-xs);padding:0 var(--space-3);line-height:16px;font-family:var(--portal-font-mono)}@keyframes portal-cmd-palette-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.portal-cmd-palette__backdrop{position:fixed;inset:0;background:var(--portal-bg-overlay-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:start center;padding-top:15vh;z-index:300;animation:portal-fade-in var(--dur-fast) var(--ease-quick)}.portal-cmd-palette__modal{width:100%;max-width:560px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:portal-cmd-palette-in .2s var(--ease-quick)}.portal-cmd-palette__input-row{display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);border-bottom:1px solid var(--portal-border-subtle);height:52px}.portal-cmd-palette__search-icon{flex-shrink:0;color:var(--portal-text-tertiary)}.portal-cmd-palette__input{flex:1 1;height:100%;background:transparent;border:0;color:var(--portal-text-primary);font-size:var(--portal-type-body-size);outline:none;min-width:0}.portal-cmd-palette__input::placeholder{color:var(--portal-text-tertiary)}.portal-cmd-palette__spinner{flex-shrink:0;width:14px;height:14px;border:2px solid var(--portal-border-default);border-top-color:var(--portal-accent);border-radius:var(--radius-full);animation:portal-spin .6s linear infinite}@keyframes portal-spin{to{transform:rotate(1turn)}}.portal-cmd-palette__clear{flex-shrink:0;background:transparent;border:0;color:var(--portal-text-quaternary);font-size:12px;cursor:pointer;padding:2px var(--space-3);border-radius:var(--radius-sm);line-height:1}.portal-cmd-palette__clear:hover{color:var(--portal-text-secondary);background:var(--portal-bg-overlay)}.portal-cmd-palette__results{max-height:500px;overflow-y:auto;padding:var(--space-3)}.portal-cmd-palette__hint{padding:var(--space-4) var(--space-5);color:var(--portal-text-tertiary);font-size:var(--portal-type-body-sm-size);margin:0}.portal-cmd-palette__section{margin-bottom:var(--space-3)}.portal-cmd-palette__section-header{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-text-tertiary);padding:var(--space-3) var(--space-4) var(--space-2)}.portal-cmd-palette__item{display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal-cmd-palette__item--active,.portal-cmd-palette__item:hover{background:var(--portal-bg-overlay);color:var(--portal-text-primary)}.portal-cmd-palette__item--active:hover{background:var(--portal-bg-selected)}.portal-cmd-palette__item-icon{flex-shrink:0;color:var(--portal-text-tertiary)}.portal-cmd-palette__item-name{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.portal-cmd-palette__item-badge{background:var(--portal-bg-overlay);border-radius:var(--radius-xs);padding:1px var(--space-3);color:var(--portal-text-secondary)}.portal-cmd-palette__item-badge,.portal-cmd-palette__item-mono{flex-shrink:0;font-family:var(--portal-font-mono);font-size:var(--portal-type-mono-id-size)}.portal-cmd-palette__item-mono{color:var(--portal-text-tertiary)}.portal-cmd-palette__item-status{flex-shrink:0;font-size:var(--portal-type-caption-size);font-weight:var(--portal-type-caption-weight);color:var(--portal-text-tertiary);background:var(--portal-bg-app);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-xs);padding:1px var(--space-3);white-space:nowrap}.portal-cmd-palette__item-hint{flex-shrink:0;font-size:11px;color:var(--portal-text-quaternary);background:var(--portal-bg-app);border:1px solid var(--portal-border-default);border-radius:var(--radius-xs);padding:0 var(--space-3);line-height:16px;font-family:var(--portal-font-mono)}.portal-context-menu{min-width:200px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2)}.portal-context-menu__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary);border-radius:var(--radius-sm);cursor:pointer}.portal-context-menu__item:hover{background:var(--portal-bg-overlay);color:var(--portal-text-primary)}.portal-status-pill{display:inline-flex;align-items:center;gap:var(--space-3);height:22px;padding:0 var(--space-4);border-radius:var(--radius-full);font-size:var(--portal-type-caption-size);color:var(--portal-text-secondary);background:var(--portal-bg-overlay)}.portal-page{padding:var(--space-7)}.portal-page,.portal-page--no-pad{flex:1 1;display:flex;flex-direction:column;min-height:0}.portal-page--no-pad{padding:0;overflow:hidden}.portal-page--center{align-items:center;justify-content:center}.portal-page__title{font-size:var(--portal-type-h2-size);font-weight:var(--portal-type-h2-weight);letter-spacing:var(--portal-type-h2-tracking);margin:0 0 var(--space-6)}.portal-login{display:grid;place-items:center;min-height:100vh;padding:var(--space-7)}.portal-login__card{background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-xl);padding:var(--space-9);max-width:420px;width:100%;text-align:center}.portal-login__logo{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--portal-accent);color:var(--portal-text-on-accent);display:grid;place-items:center;font-weight:800;font-size:20px;margin:0 auto var(--space-6)}.portal-login__title{font-size:var(--portal-type-h2-size);font-weight:var(--portal-type-h2-weight);letter-spacing:var(--portal-type-h2-tracking);margin:0 0 var(--space-3)}.portal-login__desc{font-size:var(--portal-type-body-size);color:var(--portal-text-secondary);margin:0 0 var(--space-7)}.portal-login__personas{display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.portal-login__persona{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--portal-bg-overlay);cursor:pointer;font-size:var(--portal-type-body-sm-size);color:var(--portal-text-primary);text-decoration:none}.portal-login__persona:hover{background:var(--portal-bg-selected)}.portal-login__persona-role{margin-left:auto;font-size:var(--portal-type-caption-size);color:var(--portal-text-tertiary)}.portal-filterbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--portal-border-subtle);background:var(--portal-bg-surface);min-height:40px}.portal-filterbar__info{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary)}.portal-filterbar__pill-wrap{position:relative}.portal-filterbar__pill{display:inline-flex;align-items:center;gap:var(--space-2);height:26px;padding:0 var(--space-4);border-radius:var(--radius-full);border:1px solid var(--portal-border-default);background:var(--portal-bg-overlay);color:var(--portal-text-secondary);font-size:var(--portal-type-body-xs-size,12px);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),border-color var(--dur-fast) var(--ease-quick),color var(--dur-fast) var(--ease-quick);white-space:nowrap}.portal-filterbar__pill:hover{background:var(--portal-bg-selected);color:var(--portal-text-primary);border-color:var(--portal-border-strong)}.portal-filterbar__pill--active{background:var(--portal-accent-subtle);border-color:var(--portal-accent);color:var(--portal-text-primary)}.portal-filterbar__pill--active:hover{background:var(--portal-accent-subtle);border-color:var(--portal-accent-hover)}.portal-filterbar__pill-label{display:inline-flex;align-items:center;gap:var(--space-2)}.portal-filterbar__pill-count{width:16px;height:16px;background:var(--portal-accent);color:var(--portal-text-on-accent);font-size:10px;font-weight:700}.portal-filterbar__pill-count,.portal-filterbar__pill-x{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);line-height:1}.portal-filterbar__pill-x{width:14px;height:14px;font-size:14px;color:var(--portal-text-secondary);cursor:pointer;margin-left:var(--space-1)}.portal-filterbar__pill-x:hover{color:var(--portal-text-primary)}.portal-filterbar__chevron{color:var(--portal-text-tertiary);flex-shrink:0}.portal-filterbar__dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:60;min-width:200px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);animation:portal-fade-in var(--dur-fast) var(--ease-quick)}.portal-filterbar__dropdown--sort{min-width:180px}.portal-filterbar__dropdown-empty{padding:var(--space-3) var(--space-4);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary)}.portal-filterbar__dropdown-section-label{padding:var(--space-3) var(--space-4) var(--space-2);font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;color:var(--portal-text-tertiary)}.portal-filterbar__dropdown-divider{height:1px;background:var(--portal-border-subtle);margin:var(--space-2) 0}.portal-filterbar__option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-quick)}.portal-filterbar__option:hover{background:var(--portal-bg-overlay)}.portal-filterbar__option--checked,.portal-filterbar__option:hover{color:var(--portal-text-primary)}.portal-filterbar__checkbox{width:14px;height:14px;flex-shrink:0;accent-color:var(--portal-accent);cursor:pointer}.portal-filterbar__option-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.portal-filterbar__option-label{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-filterbar__clear{display:inline-flex;align-items:center;height:26px;padding:0 var(--space-4);border-radius:var(--radius-full);border:1px solid transparent;background:transparent;color:var(--portal-text-tertiary);font-size:var(--portal-type-body-xs-size,12px);cursor:pointer;transition:color var(--dur-fast) var(--ease-quick);margin-left:auto}.portal-filterbar__clear:hover{color:var(--portal-text-secondary)}.portal-filterbar__close{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--portal-text-tertiary);cursor:pointer}.portal-filterbar__close:hover{background:var(--portal-bg-overlay);color:var(--portal-text-primary)}.portal-filterbar__search-wrap{position:relative;display:inline-flex;align-items:center;height:26px;padding:0 var(--space-3) 0 26px;border-radius:var(--radius-full);border:1px solid var(--portal-border-default);background:var(--portal-bg-overlay);min-width:220px}.portal-filterbar__search-wrap:focus-within{border-color:var(--portal-accent);background:var(--portal-bg-raised)}.portal-filterbar__search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--portal-text-tertiary);pointer-events:none}.portal-filterbar__search{flex:1 1;background:transparent;border:0;outline:0;color:var(--portal-text-primary);font-size:var(--portal-type-body-xs-size,12px);height:100%;padding:0;margin:0}.portal-filterbar__search::placeholder{color:var(--portal-text-tertiary)}.portal-filterbar__search-clear{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-full);border:0;background:transparent;color:var(--portal-text-tertiary);cursor:pointer;margin-left:var(--space-1)}.portal-filterbar__search-clear:hover{background:var(--portal-bg-selected);color:var(--portal-text-primary)}.portal-display-options{position:absolute;top:calc(100% + 6px);right:0;z-index:70;min-width:220px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);animation:portal-fade-in var(--dur-fast) var(--ease-quick)}.portal-issue-list-view{width:100%;display:flex;flex-direction:column;font-size:var(--portal-type-body-sm-size)}.portal-issue-list-view__header{display:grid;grid-template-columns:32px 80px minmax(0,1fr) 88px 80px 1fr;align-items:center;height:32px;padding:0 var(--space-6);border-bottom:1px solid var(--portal-border-subtle);background:var(--portal-bg-app);position:-webkit-sticky;position:sticky;top:0;z-index:1}.portal-issue-list-view__th{display:flex;align-items:center;gap:var(--space-2);font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;color:var(--portal-text-tertiary);background:transparent;border:0;padding:0;cursor:pointer;text-align:left;white-space:nowrap;font-family:inherit;transition:color var(--dur-fast) var(--ease-quick)}.portal-issue-list-view__th:hover{color:var(--portal-text-secondary)}.portal-issue-list-view__th--active{color:var(--portal-text-primary)}.portal-issue-list-view__th--status{cursor:default}.portal-issue-list-view__sort-indicator{font-size:10px}.portal-issue-list-view__row{display:grid;grid-template-columns:32px 80px minmax(0,1fr) 88px 80px 1fr;align-items:center;height:40px;padding:0 var(--space-6);border-bottom:1px solid var(--portal-border-subtle);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick);outline:none}.portal-issue-list-view__row:hover{background:var(--portal-bg-raised)}.portal-issue-list-view__row:focus-visible{box-shadow:inset 0 0 0 2px var(--portal-border-focus)}.portal-issue-list-view__row--selected{background:var(--portal-bg-selected)}.portal-issue-list-view__td{display:flex;align-items:center;overflow:hidden}.portal-issue-list-view__td--status{justify-content:center}.portal-issue-list-view__td--id{font-family:var(--portal-font-mono);font-size:var(--portal-type-mono-id-size);color:var(--portal-text-tertiary);white-space:nowrap}.portal-issue-list-view__td--title{color:var(--portal-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:var(--space-5)}.portal-issue-list-view__td--priority{gap:var(--space-3);color:var(--portal-text-secondary)}.portal-issue-list-view__priority-label,.portal-issue-list-view__td--updated{font-size:var(--portal-type-body-xs-size,12px);color:var(--portal-text-tertiary)}.portal-issue-list-view__td--updated{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.portal-issue-list-view__td--labels{display:flex;align-items:center;gap:var(--space-2);overflow:hidden}.portal-issue-list-view__label-overflow{font-size:11px;color:var(--portal-text-tertiary);flex-shrink:0}.portal-issue-list-view__empty{padding:var(--space-8) var(--space-6);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);text-align:center}.portal-issue-list-view--density-compact .portal-issue-list-view__row{height:32px}.portal-issue-list-view--density-comfortable .portal-issue-list-view__row{height:40px}.portal-issue-list-view__td--assignee{justify-content:flex-start}.portal-issue-list-view__assignee-empty{color:var(--portal-text-quaternary);font-size:var(--portal-type-body-xs-size,12px)}.portal-issue-list-view__group-header{display:flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-6);background:var(--portal-bg-app);border-bottom:1px solid var(--portal-border-subtle);font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;color:var(--portal-text-tertiary);position:-webkit-sticky;position:sticky;top:32px;z-index:1}.portal-issue-list-view__group-label{color:var(--portal-text-primary);text-transform:none;letter-spacing:0;font-size:var(--portal-type-body-sm-size);font-weight:500}.portal-issue-list-view__group-count{color:var(--portal-text-tertiary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:var(--space-2)}.portal-issue-list-view__group-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.portal-view-toggle{display:flex;align-items:center;background:var(--portal-bg-overlay);border-radius:var(--radius-md);padding:2px;gap:2px}.portal-view-toggle__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:24px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:0;background:transparent;color:var(--portal-text-tertiary);font-size:var(--portal-type-body-sm-size);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),color var(--dur-fast) var(--ease-quick)}.portal-view-toggle__btn:hover{color:var(--portal-text-secondary)}.portal-view-toggle__btn--active{background:var(--portal-bg-selected);color:var(--portal-text-primary)}.portal-rail-picker__trigger{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;margin-left:-6px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--portal-text-primary);font:inherit;text-align:left;cursor:pointer}.portal-rail-picker__trigger:hover{background:var(--portal-bg-overlay);border-color:var(--portal-border-subtle)}.portal-rail-picker__trigger:focus-visible{outline:2px solid var(--portal-status-blue);outline-offset:1px}.portal-rail-picker__content{min-width:220px;max-height:320px;overflow-y:auto;z-index:50}.portal-rail-picker__item{width:100%;background:transparent;border:0;font:inherit;text-align:left}.portal-rail-picker__check{margin-left:auto;color:var(--portal-text-tertiary);font-size:12px}.portal-inbox{display:flex;flex-direction:column;gap:var(--space-7);max-width:720px;width:100%}.portal-inbox__section-heading{font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;color:var(--portal-text-tertiary);margin:0 0 var(--space-3)}.portal-inbox__row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);transition:background var(--dur-fast) var(--ease-quick)}.portal-inbox__row:hover{background:var(--portal-bg-overlay)}.portal-inbox__row--unread{background:var(--portal-bg-raised)}.portal-inbox__type-icon{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--portal-bg-overlay);color:var(--portal-text-secondary);margin-top:1px}.portal-inbox__type-icon--mention{background:var(--portal-accent-subtle);color:var(--portal-accent)}.portal-inbox__type-icon--comment,.portal-inbox__type-icon--status_change{background:rgba(59,130,246,.12);color:var(--portal-status-blue)}.portal-inbox__type-icon--assigned{background:rgba(139,92,246,.12);color:#8b5cf6}.portal-inbox__content{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.portal-inbox__description{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-primary);line-height:1.5}.portal-inbox__entity-link{color:var(--portal-text-primary);text-decoration:underline;text-underline-offset:2px}.portal-inbox__entity-link:hover{color:var(--portal-accent)}.portal-inbox__time{font-size:var(--portal-type-caption-size);color:var(--portal-text-tertiary)}.portal-inbox__mark-read{flex-shrink:0;opacity:0;transition:opacity var(--dur-fast) var(--ease-quick)}.portal-inbox__row:hover .portal-inbox__mark-read{opacity:1}.portal-inbox__loading{display:flex;flex-direction:column;gap:var(--space-3);max-width:720px}.portal-inbox__row-skeleton{height:56px;border-radius:var(--radius-md);background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);animation:portal-pulse 1.4s var(--ease-linear) infinite}.portal-activity__icon--green{background:rgba(16,185,129,.15);border-color:rgba(16,185,129,.4);color:#10b981}.portal-activity__icon--blue{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.4);color:var(--portal-status-blue)}.portal-activity__icon--amber{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.4);color:var(--portal-status-amber)}.portal-activity__icon--purple{background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.4);color:#8b5cf6}.portal-activity__icon--teal{background:rgba(20,184,166,.15);border-color:rgba(20,184,166,.4);color:#14b8a6}.portal-assignee{position:relative;display:inline-flex}.portal-assignee__avatar{display:inline-grid;place-items:center;border-radius:var(--radius-full);font-weight:600;color:#ffffff;flex-shrink:0;line-height:1}.portal-assignee__avatar--empty{background:var(--portal-bg-overlay);color:var(--portal-text-tertiary);font-size:10px}.portal-assignee__pill{display:inline-flex;align-items:center;gap:var(--space-3);padding:2px var(--space-3);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary)}.portal-assignee__pill--disabled{cursor:not-allowed;opacity:.6}.portal-assignee__dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:60;min-width:220px;max-height:280px;overflow-y:auto;animation:portal-fade-in var(--dur-fast) var(--ease-quick)}.portal-assignee__option{display:flex;align-items:center;gap:var(--space-3);width:100%;background:transparent;border:0;font:inherit;text-align:left}.portal-new-issue-overlay{position:fixed;inset:0;background:var(--portal-bg-overlay-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:start center;padding-top:15vh;z-index:200;animation:portal-fade-in var(--dur-fast) var(--ease-quick)}.portal-new-issue{width:100%;max-width:600px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.portal-new-issue__header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 var(--space-6);border-bottom:1px solid var(--portal-border-subtle)}.portal-new-issue__title{font-size:var(--portal-type-h4-size);font-weight:var(--portal-type-h4-weight);color:var(--portal-text-primary)}.portal-new-issue__body{gap:var(--space-4);padding:var(--space-6)}.portal-new-issue__body,.portal-new-issue__field{display:flex;flex-direction:column}.portal-new-issue__input{background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);color:var(--portal-text-primary);font-family:inherit;font-size:var(--portal-type-body-size);outline:none;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-new-issue__input--title{font-size:var(--portal-type-h4-size);font-weight:var(--portal-type-h4-weight);background:transparent;border-color:transparent;padding-left:0}.portal-new-issue__input--title::placeholder{color:var(--portal-text-tertiary)}.portal-new-issue__input--title:focus{border-color:transparent;outline:none}.portal-new-issue__input:focus{border-color:var(--portal-border-focus)}.portal-new-issue__textarea{background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);color:var(--portal-text-primary);font-family:inherit;font-size:var(--portal-type-body-sm-size);resize:vertical;outline:none;transition:border-color var(--dur-fast) var(--ease-quick);min-height:80px}.portal-new-issue__textarea::placeholder{color:var(--portal-text-tertiary)}.portal-new-issue__textarea:focus{border-color:var(--portal-border-focus)}.portal-new-issue__meta-row{display:flex;gap:var(--space-5)}.portal-new-issue__select-wrap{display:flex;flex-direction:column;gap:var(--space-2);flex:1 1}.portal-new-issue__meta-label{font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;color:var(--portal-text-tertiary)}.portal-new-issue__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--portal-text-primary);font-family:inherit;font-size:var(--portal-type-body-sm-size);outline:none;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-new-issue__select:focus{border-color:var(--portal-border-focus)}.portal-new-issue__select:disabled{opacity:.5;cursor:not-allowed}.portal-new-issue__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-top:1px solid var(--portal-border-subtle);background:var(--portal-bg-app)}.portal-new-issue__kbd-hint{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--portal-type-caption-size);color:var(--portal-text-tertiary)}.portal-new-issue__kbd{background:var(--portal-bg-overlay);border:1px solid var(--portal-border-default);border-radius:var(--radius-xs);padding:0 var(--space-3);line-height:18px;font-family:var(--portal-font-mono);font-size:11px;color:var(--portal-text-secondary)}.portal-new-issue-template{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6) 0}.portal-new-issue-template__label{font-size:var(--portal-type-caption-size);font-weight:500;color:var(--portal-text-tertiary);white-space:nowrap;flex-shrink:0}.portal-new-issue-template__select{font-size:var(--portal-type-caption-size);color:var(--portal-text-secondary);background:var(--portal-bg-overlay);border:1px solid var(--portal-border-default);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);cursor:pointer;outline:none;transition:border-color .15s ease}.portal-new-issue-template__select:hover{border-color:var(--portal-border-emphasis)}.portal-new-issue-template__select:focus{border-color:var(--portal-accent-primary)}.portal-new-issue-template__select:disabled{opacity:.5;cursor:not-allowed}.portal-widget__trigger{position:fixed;bottom:var(--space-7);right:var(--space-7);z-index:80;width:56px;height:56px;border-radius:var(--radius-full);background:var(--portal-accent);color:var(--portal-text-on-accent);border:none;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-lg);transition:background var(--dur-fast) var(--ease-quick),transform var(--dur-base) var(--ease-bounce)}.portal-widget__trigger:hover{background:var(--portal-accent-hover);transform:scale(1.06)}.portal-widget__trigger:focus-visible{outline:none;box-shadow:var(--shadow-ring-focus)}.portal-widget__panel{position:fixed;bottom:calc(var(--space-7) + 56px + var(--space-5));right:var(--space-7);z-index:90;width:420px;height:600px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:portal-widget-slide-in var(--dur-base) var(--ease-spring)}@keyframes portal-widget-slide-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.portal-widget__panel{width:calc(100vw - var(--space-7) * 2);right:var(--space-7)}.portal-widget__trigger{right:var(--space-6);bottom:var(--space-6)}}.portal-widget__header{display:flex;align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-5);border-bottom:1px solid var(--portal-border-subtle);flex-shrink:0}.portal-widget__title{font-size:var(--portal-type-body-strong-size);font-weight:var(--portal-type-body-strong-weight);color:var(--portal-text-primary);flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-widget__mode-toggle{display:flex;align-items:center;background:var(--portal-bg-overlay);border-radius:var(--radius-md);padding:2px;gap:2px;flex-shrink:0}.portal-widget__mode-btn{height:22px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:none;background:transparent;color:var(--portal-text-tertiary);font-size:var(--portal-type-body-sm-size);cursor:pointer;font-family:inherit;transition:background var(--dur-fast) var(--ease-quick),color var(--dur-fast) var(--ease-quick)}.portal-widget__mode-btn:hover{color:var(--portal-text-secondary)}.portal-widget__mode-btn--active{background:var(--portal-bg-selected);color:var(--portal-text-primary)}.portal-widget__close{width:24px;height:24px;display:grid;place-items:center;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--portal-text-tertiary);cursor:pointer;flex-shrink:0;transition:background var(--dur-fast) var(--ease-quick),color var(--dur-fast) var(--ease-quick)}.portal-widget__close:hover{background:var(--portal-bg-overlay);color:var(--portal-text-primary)}.portal-widget__body{flex:1 1;min-height:0;display:flex;flex-direction:column}.portal-widget__triage-layout{display:flex;flex-direction:column;flex:1 1;min-height:0}.portal-widget__messages{flex:1 1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);min-height:0;scroll-behavior:smooth}.portal-widget__empty-prompt{margin:auto;text-align:center;padding:var(--space-7) var(--space-5);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);line-height:1.55;max-width:300px}.portal-widget__bubble{max-width:80%;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);font-size:var(--portal-type-body-sm-size);line-height:1.5;white-space:pre-wrap;word-break:break-word}.portal-widget__bubble--user{align-self:flex-end;background:var(--portal-accent);color:var(--portal-text-on-accent);border-bottom-right-radius:var(--radius-sm)}.portal-widget__bubble--assistant{align-self:flex-start;background:var(--portal-bg-overlay);color:var(--portal-text-primary);border-bottom-left-radius:var(--radius-sm)}.portal-widget__bubble--thinking{display:flex;align-items:center;gap:4px;padding:var(--space-4) var(--space-5)}.portal-widget__dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--portal-text-tertiary);animation:portal-widget-dot-pulse 1.2s var(--ease-linear) infinite}.portal-widget__dot:nth-child(2){animation-delay:.2s}.portal-widget__dot:nth-child(3){animation-delay:.4s}@keyframes portal-widget-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.portal-widget__summary{border-top:1px solid var(--portal-border-subtle);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);background:var(--portal-bg-app);flex-shrink:0}.portal-widget__summary-heading{font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;color:var(--portal-text-tertiary)}.portal-widget__summary-row{display:grid;grid-template-columns:64px 1fr;grid-gap:var(--space-3);gap:var(--space-3);align-items:baseline;font-size:var(--portal-type-body-sm-size)}.portal-widget__summary-row--details{align-items:flex-start}.portal-widget__summary-label{color:var(--portal-text-tertiary);font-size:var(--portal-type-caption-size);white-space:nowrap}.portal-widget__summary-value{color:var(--portal-text-primary);word-break:break-word}.portal-widget__summary-value--details{color:var(--portal-text-secondary);font-size:var(--portal-type-body-sm-size);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.portal-widget__create-btn{margin-top:var(--space-2);height:32px;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--portal-accent);color:var(--portal-text-on-accent);font-size:var(--portal-type-body-sm-size);font-weight:600;font-family:inherit;border:none;cursor:pointer;align-self:flex-start;transition:background var(--dur-fast) var(--ease-quick)}.portal-widget__create-btn:hover:not(:disabled){background:var(--portal-accent-hover)}.portal-widget__create-btn:disabled{opacity:.5;cursor:not-allowed}.portal-widget__input-row{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--portal-border-subtle);background:var(--portal-bg-raised);flex-shrink:0}.portal-widget__textarea{flex:1 1;min-height:36px;max-height:120px;resize:none;background:var(--portal-bg-overlay);border:1px solid var(--portal-border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--portal-text-primary);font-family:inherit;font-size:var(--portal-type-body-sm-size);line-height:1.5;outline:none;transition:border-color var(--dur-fast) var(--ease-quick);field-sizing:content}.portal-widget__textarea::placeholder{color:var(--portal-text-quaternary)}.portal-widget__textarea:focus{border-color:var(--portal-border-focus)}.portal-widget__textarea:disabled{opacity:.5}.portal-widget__send-btn{width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-md);border:none;background:var(--portal-accent);color:var(--portal-text-on-accent);cursor:pointer;display:grid;place-items:center;transition:background var(--dur-fast) var(--ease-quick)}.portal-widget__send-btn:hover:not(:disabled){background:var(--portal-accent-hover)}.portal-widget__send-btn:disabled{opacity:.4;cursor:not-allowed}.portal-widget__fastlane{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6) var(--space-5);flex:1 1;overflow-y:auto}.portal-widget__fl-field{display:flex;flex-direction:column;gap:var(--space-2)}.portal-widget__fl-label{font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;color:var(--portal-text-tertiary)}.portal-widget__fl-input{height:36px;background:var(--portal-bg-overlay);border:1px solid var(--portal-border-default);border-radius:var(--radius-md);padding:0 var(--space-4);color:var(--portal-text-primary);font-family:inherit;font-size:var(--portal-type-body-sm-size);outline:none;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-widget__fl-input::placeholder{color:var(--portal-text-quaternary)}.portal-widget__fl-input:focus{border-color:var(--portal-border-focus)}.portal-widget__fl-textarea{background:var(--portal-bg-overlay);border:1px solid var(--portal-border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--portal-text-primary);font-family:inherit;font-size:var(--portal-type-body-sm-size);line-height:1.5;resize:vertical;outline:none;min-height:88px;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-widget__fl-textarea::placeholder{color:var(--portal-text-quaternary)}.portal-widget__fl-textarea:focus{border-color:var(--portal-border-focus)}.portal-widget__fl-select{height:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--portal-bg-overlay);border:1px solid var(--portal-border-default);border-radius:var(--radius-md);padding:0 var(--space-4);color:var(--portal-text-primary);font-family:inherit;font-size:var(--portal-type-body-sm-size);outline:none;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-widget__fl-select:focus{border-color:var(--portal-border-focus)}.portal-widget__submit-btn{height:36px;padding:0 var(--space-6);border-radius:var(--radius-md);background:var(--portal-accent);color:var(--portal-text-on-accent);font-size:var(--portal-type-body-sm-size);font-weight:600;font-family:inherit;border:none;cursor:pointer;align-self:flex-start;transition:background var(--dur-fast) var(--ease-quick)}.portal-widget__submit-btn:hover:not(:disabled){background:var(--portal-accent-hover)}.portal-widget__submit-btn:disabled{opacity:.5;cursor:not-allowed}.portal-widget__success{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);flex:1 1;padding:var(--space-8) var(--space-6);text-align:center}.portal-widget__success-icon{color:var(--portal-status-green);margin-bottom:var(--space-2)}.portal-widget__success-heading{font-size:var(--portal-type-h4-size);font-weight:var(--portal-type-h4-weight);color:var(--portal-text-primary);margin:0}.portal-widget__success-link{font-family:var(--portal-font-mono);font-size:var(--portal-type-body-sm-size);color:var(--portal-accent);text-decoration:underline;text-underline-offset:2px}.portal-widget__success-link:hover{color:var(--portal-accent-hover)}.portal-widget__success-hint{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);margin:0}.portal-widget__success-reset{height:32px;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--portal-bg-overlay);color:var(--portal-text-secondary);font-size:var(--portal-type-body-sm-size);font-family:inherit;border:1px solid var(--portal-border-default);cursor:pointer;margin-top:var(--space-3);transition:background var(--dur-fast) var(--ease-quick),color var(--dur-fast) var(--ease-quick)}.portal-widget__success-reset:hover{background:var(--portal-bg-selected);color:var(--portal-text-primary)}.portal-checklist{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.portal-checklist__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-quick)}.portal-checklist__item:hover{background:var(--portal-bg-overlay)}.portal-checklist__checkbox{flex-shrink:0;width:15px;height:15px;accent-color:var(--portal-accent);cursor:pointer}.portal-checklist__text{flex:1 1;font-size:var(--portal-type-body-sm-size);color:var(--portal-text-primary);line-height:1.4}.portal-checklist__text--checked{text-decoration:line-through;color:var(--portal-text-tertiary)}.portal-checklist__delete{flex-shrink:0;background:transparent;border:0;color:var(--portal-text-quaternary);font-size:14px;line-height:1;cursor:pointer;padding:2px var(--space-2);border-radius:var(--radius-sm);opacity:0;transition:opacity var(--dur-fast) var(--ease-quick),color var(--dur-fast) var(--ease-quick)}.portal-checklist__item:hover .portal-checklist__delete{opacity:1}.portal-checklist__delete:hover{color:var(--portal-status-red,#ef4444)}.portal-checklist__add-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-top:var(--space-1)}.portal-checklist__add-input{flex:1 1;background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--portal-type-body-sm-size);color:var(--portal-text-primary);outline:none;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-checklist__add-input::placeholder{color:var(--portal-text-tertiary)}.portal-checklist__add-input:focus{border-color:var(--portal-border-focus)}.portal-checklist__add-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);cursor:pointer;background:transparent;border:0;padding:0;font-family:inherit;transition:color var(--dur-fast) var(--ease-quick)}.portal-checklist__add-link:hover{color:var(--portal-text-secondary)}.portal-autofix__section{margin-top:24px;padding-top:20px;border-top:1px solid var(--portal-border-subtle)}.portal-autofix__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.portal-autofix__title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--portal-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0}.portal-autofix__trigger-btn{font-size:11px;font-family:inherit;font-weight:500;padding:3px 10px;border-radius:var(--radius-sm);background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);color:var(--portal-text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),border-color var(--dur-fast) var(--ease-quick)}.portal-autofix__trigger-btn:hover:not(:disabled){background:var(--portal-bg-selected);border-color:var(--portal-border-focus);color:var(--portal-text-primary)}.portal-autofix__trigger-btn:disabled{opacity:.5;cursor:not-allowed}.portal-autofix__empty{font-size:12px;color:var(--portal-text-tertiary);margin:0;padding:4px 0}.portal-autofix__attempt{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:var(--radius-md);background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);margin-bottom:6px}.portal-autofix__attempt:last-child{margin-bottom:0}.portal-autofix__attempt-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-autofix__tier-badge{font-size:10px;font-weight:700;font-family:var(--portal-font-mono);padding:1px 5px;border-radius:var(--radius-sm);background:var(--portal-bg-raised);color:var(--portal-text-secondary);border:1px solid var(--portal-border-subtle);flex-shrink:0}.portal-autofix__outcome-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--portal-text-tertiary)}.portal-autofix__outcome-badge--pr-opened{color:var(--portal-status-green,#22c55e)}.portal-autofix__outcome-badge--failed{color:var(--portal-status-red,#ef4444)}.portal-autofix__outcome-badge--rejected{color:var(--portal-status-amber,#f59e0b)}.portal-autofix__time{font-size:11px;color:var(--portal-text-quaternary,var(--portal-text-tertiary));margin-left:auto}.portal-autofix__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-autofix__risk{font-size:11px;color:var(--portal-text-tertiary)}.portal-autofix__risk strong{color:var(--portal-text-secondary);font-weight:500}.portal-autofix__test-pill{font-size:10px;font-weight:500;padding:1px 6px;border-radius:999px;background:var(--portal-bg-raised);color:var(--portal-text-tertiary);border:1px solid var(--portal-border-subtle)}.portal-autofix__test-pill--passed{color:var(--portal-status-green,#22c55e);border-color:currentColor;background:transparent}.portal-autofix__test-pill--failed{color:var(--portal-status-red,#ef4444);border-color:currentColor;background:transparent}.portal-autofix__link{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:var(--portal-accent);text-decoration:none;transition:opacity var(--dur-fast) var(--ease-quick)}.portal-autofix__link:hover{opacity:.8;text-decoration:underline}.portal-autofix__link--staging{color:var(--portal-text-secondary)}.portal-autofix__rollback-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;font-family:inherit;padding:2px 8px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--portal-status-red,#ef4444);color:var(--portal-status-red,#ef4444);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),color var(--dur-fast) var(--ease-quick)}.portal-autofix__rollback-btn:hover:not(:disabled){background:var(--portal-status-red,#ef4444);color:#fff}.portal-autofix__rollback-btn:disabled{opacity:.5;cursor:not-allowed}.portal-autofix__spinner{display:inline-block;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--portal-border-subtle);border-top-color:var(--portal-text-secondary);animation:portal-autofix-spin .7s linear infinite;flex-shrink:0}@keyframes portal-autofix-spin{to{transform:rotate(1turn)}}.portal-input{background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--portal-text-primary);font-family:inherit;font-size:13px;outline:none;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-input:focus{border-color:var(--portal-border-focus)}.portal-input::placeholder{color:var(--portal-text-tertiary)}.portal-input:disabled{opacity:.5;cursor:not-allowed}.portal-select{background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--portal-text-primary);font-family:inherit;font-size:13px;outline:none;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-select:focus{border-color:var(--portal-border-focus)}.portal-select:disabled{opacity:.5;cursor:not-allowed}.portal-account-list{width:100%;max-width:900px}.portal-account-list__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 0}.portal-account-list__table{width:100%;border-collapse:collapse;font-size:13px;color:var(--portal-text-primary)}.portal-account-list__table th{text-align:left;padding:6px 12px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-text-tertiary);border-bottom:1px solid var(--portal-border-subtle)}.portal-account-list__table td{padding:10px 12px;border-bottom:1px solid var(--portal-border-subtle);vertical-align:middle}.portal-account-list__table tr:hover td{background:var(--portal-surface-hover)}.portal-account-list__name{display:inline-flex;align-items:center;gap:6px;font-weight:500}.portal-account-list__slug{font-family:var(--portal-font-mono,ui-monospace,monospace);font-size:11px;background:var(--portal-surface-raised);padding:2px 6px;border-radius:4px;color:var(--portal-text-secondary)}.portal-account-list__type-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.portal-account-list__type-badge--internal{background:color-mix(in srgb,var(--portal-accent) 15%,transparent);color:var(--portal-accent)}.portal-account-list__type-badge--trusted-customer{background:color-mix(in srgb,var(--portal-status-green) 15%,transparent);color:var(--portal-status-green)}.portal-account-list__type-badge--prospect{background:color-mix(in srgb,var(--portal-status-yellow) 15%,transparent);color:var(--portal-status-yellow)}.portal-account{width:100%;max-width:800px;display:flex;flex-direction:column;gap:40px}.portal-account__section{display:flex;flex-direction:column;gap:16px}.portal-account__section-title{font-size:14px;font-weight:600;color:var(--portal-text-primary);border-bottom:1px solid var(--portal-border-subtle);padding-bottom:8px;margin:0}.portal-account__subsection-title{font-size:12px;font-weight:600;color:var(--portal-text-secondary);margin:0;text-transform:uppercase;letter-spacing:.04em}.portal-account__member-list{display:flex;flex-direction:column}.portal-account__member-header,.portal-account__member-row{display:grid;grid-template-columns:2fr 1.5fr 130px 100px;align-items:center;grid-gap:12px;gap:12px;padding:6px 0}.portal-account__member-header{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-text-tertiary);border-bottom:1px solid var(--portal-border-subtle);padding-bottom:6px}.portal-account__member-row{border-bottom:1px solid var(--portal-border-subtle);font-size:13px}.portal-account__member-row:last-child{border-bottom:none}.portal-account__member-email{color:var(--portal-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-account__member-name{color:var(--portal-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-account__member-date{font-size:11px;color:var(--portal-text-tertiary)}.portal-account__empty-members{color:var(--portal-text-tertiary);font-size:13px;margin:0}.portal-account__role-pill-wrap{display:inline-block}.portal-account__role-pill{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:opacity .1s}.portal-account__role-pill:disabled{opacity:.5;cursor:not-allowed}.portal-account__role-pill--customer-admin{background:color-mix(in srgb,var(--portal-accent) 15%,transparent);color:var(--portal-accent)}.portal-account__role-pill--customer-user{background:color-mix(in srgb,var(--portal-status-green) 15%,transparent);color:var(--portal-status-green)}.portal-account__role-pill--customer-viewer{background:color-mix(in srgb,var(--portal-text-tertiary) 15%,transparent);color:var(--portal-text-secondary)}.portal-account__role-pill--no-access{background:color-mix(in srgb,var(--portal-status-red) 12%,transparent);color:var(--portal-status-red)}.portal-account__role-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:50;background:var(--portal-surface-overlay,var(--portal-surface-raised));border:1px solid var(--portal-border-subtle);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.35);list-style:none;margin:0;padding:4px;min-width:140px}.portal-account__role-dropdown-item{display:block;width:100%;text-align:left;padding:6px 10px;font-size:12px;background:transparent;color:var(--portal-text-secondary);border:none;border-radius:4px;cursor:pointer}.portal-account__role-dropdown-item:hover{background:var(--portal-surface-hover);color:var(--portal-text-primary)}.portal-account__role-dropdown-item--active{color:var(--portal-text-primary);font-weight:500}.portal-account__invite-form{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--portal-border-subtle);border-radius:8px;background:var(--portal-surface-raised)}.portal-account__invite-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.portal-account__invite-row .portal-input{flex:1 1 180px;min-width:140px}.portal-account__invite-row .portal-select{flex:0 0 130px}.portal-account__invite-error{font-size:12px;color:var(--portal-status-red);margin:0}.portal-account__meta{display:flex;flex-direction:column;gap:0;margin:0}.portal-account__meta-row{display:grid;grid-template-columns:140px 1fr;align-items:baseline;grid-gap:12px;gap:12px;padding:10px 0;border-bottom:1px solid var(--portal-border-subtle);font-size:13px}.portal-account__meta-row:last-child{border-bottom:none}.portal-account__meta-row dt{font-weight:500;color:var(--portal-text-secondary)}.portal-account__meta-row dd{margin:0;color:var(--portal-text-primary)}.portal-account__slug-code{font-family:var(--portal-font-mono,ui-monospace,monospace);font-size:12px;background:var(--portal-surface-raised);padding:2px 6px;border-radius:4px;color:var(--portal-text-secondary)}.portal-account__plan-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.portal-account__plan-badge--internal{background:color-mix(in srgb,var(--portal-accent) 15%,transparent);color:var(--portal-accent)}.portal-account__plan-badge--trusted-customer{background:color-mix(in srgb,var(--portal-status-green) 15%,transparent);color:var(--portal-status-green)}.portal-account__plan-badge--prospect{background:color-mix(in srgb,var(--portal-status-yellow) 15%,transparent);color:var(--portal-status-yellow)}.portal-account__notion-link{color:var(--portal-accent);text-decoration:none;font-size:13px}.portal-account__notion-link:hover{text-decoration:underline}.portal-subissues{margin-top:24px}.portal-subissues__heading{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--portal-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.portal-subissues__count{font-weight:400;text-transform:none;color:var(--portal-text-tertiary);font-size:12px;margin-left:2px}.portal-subissues__empty{font-size:12px;color:var(--portal-text-tertiary);padding:4px 0}.portal-subissues__spinner{display:inline-block;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--portal-border-subtle);border-top-color:var(--portal-text-secondary);animation:portal-autofix-spin .7s linear infinite;margin:4px 0}.portal-subissues__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.portal-subissues__item{border-radius:6px;overflow:hidden}.portal-subissues__row{display:grid;grid-template-columns:16px 80px 1fr 16px;grid-gap:8px;gap:8px;align-items:center;padding:5px 8px;border-radius:6px;color:inherit;text-decoration:none;transition:background var(--dur-fast) var(--ease-quick)}.portal-subissues__row:hover{background:var(--portal-bg-hover)}.portal-subissues__id{font-family:var(--portal-font-mono);font-size:12px;color:var(--portal-text-tertiary);white-space:nowrap}.portal-subissues__title{font-size:13px;color:var(--portal-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-deps{margin-top:24px}.portal-deps__heading{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--portal-text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.portal-deps__count{font-weight:400;text-transform:none;margin-left:2px}.portal-deps__count,.portal-deps__empty{color:var(--portal-text-tertiary);font-size:12px}.portal-deps__empty{padding:4px 0}.portal-deps__spinner{display:inline-block;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--portal-border-subtle);border-top-color:var(--portal-text-secondary);animation:portal-autofix-spin .7s linear infinite;margin:4px 0}.portal-deps__groups{display:flex;flex-direction:column;gap:12px}.portal-deps__group{display:flex;flex-direction:column;gap:4px}.portal-deps__group-label{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--portal-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.portal-deps__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.portal-deps__item{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;font-size:12px;color:var(--portal-text-primary)}.portal-deps__type-badge{font-size:10px;color:var(--portal-text-tertiary);background:var(--portal-bg-raised);border-radius:4px;padding:1px 5px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.portal-deps__other-id{font-family:var(--portal-font-mono)}.portal-deps__chip,.portal-deps__other-id{font-size:12px;color:var(--portal-text-secondary)}.portal-deps__chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;background:var(--portal-bg-overlay);border-radius:9999px}.portal-deps__chip-glyph{color:var(--portal-text-tertiary);display:inline-flex}.portal-deps__chip-link{color:inherit;text-decoration:none}.portal-deps__chip-link:hover{color:var(--portal-text-primary)}.portal-deps__remove{margin-left:auto;background:transparent;border:0;color:var(--portal-text-tertiary);border-radius:4px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.portal-deps__remove:hover{color:var(--portal-text-primary);background:var(--portal-bg-raised)}.portal-deps__remove:focus-visible{outline:2px solid var(--portal-accent);outline-offset:1px}.portal-deps__add-row{margin-top:12px}.portal-deps__add-btn{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border:1px dashed var(--portal-border-subtle);background:transparent;border-radius:6px;color:var(--portal-text-tertiary);font-size:12px;cursor:pointer}.portal-deps__add-btn:hover{color:var(--portal-text-primary);border-color:var(--portal-border);background:var(--portal-bg-raised)}.portal-deps__add-btn:focus-visible{outline:2px solid var(--portal-accent);outline-offset:1px}.portal-deps__picker{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:8px}.portal-deps__picker-row{display:flex;align-items:center;gap:8px}.portal-deps__picker-label{font-size:11px;color:var(--portal-text-tertiary);text-transform:uppercase;letter-spacing:.04em;width:64px;flex-shrink:0}.portal-deps__picker-input,.portal-deps__picker-select{flex:1 1;background:var(--portal-bg-base);border:1px solid var(--portal-border-subtle);border-radius:6px;padding:4px 8px;color:var(--portal-text-primary);font-size:13px}.portal-deps__picker-input:focus{outline:2px solid var(--portal-accent);outline-offset:-1px}.portal-deps__picker-close{background:transparent;border:0;color:var(--portal-text-tertiary);width:22px;height:22px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.portal-deps__picker-close:hover{color:var(--portal-text-primary);background:var(--portal-bg-overlay)}.portal-deps__picker-list{list-style:none;padding:4px 0;margin:0;max-height:220px;overflow-y:auto;background:var(--portal-bg-base);border:1px solid var(--portal-border-subtle);border-radius:6px}.portal-deps__picker-empty{padding:8px 10px;font-size:12px;color:var(--portal-text-tertiary);display:flex;align-items:center;gap:6px}.portal-deps__picker-spinner{animation:portal-autofix-spin .7s linear infinite}.portal-deps__picker-option{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-size:13px;color:var(--portal-text-primary)}.portal-deps__picker-option--active,.portal-deps__picker-option:hover{background:var(--portal-bg-overlay)}.portal-deps__picker-option-glyph{color:var(--portal-text-tertiary);display:inline-flex;flex-shrink:0}.portal-deps__picker-option-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-deps__picker-option-meta{font-size:11px;color:var(--portal-text-tertiary);flex-shrink:0}.portal-topbar__presence{display:flex;align-items:center;margin-right:var(--space-2,6px)}.portal-topbar__presence .portal-avatar-stack{gap:0}.portal-topbar__presence .portal-avatar-stack .portal-avatar{margin-left:-6px;border:2px solid var(--portal-bg-app,#0d0d0f);transition:transform var(--dur-fast,.12s) var(--ease-quick,ease)}.portal-topbar__presence .portal-avatar-stack .portal-avatar:first-child{margin-left:0}.portal-topbar__presence .portal-avatar-stack .portal-avatar:hover{transform:translateY(-2px);z-index:1}.portal-batch-triage__page{flex:1 1;display:flex;flex-direction:column;padding:var(--space-6,24px);min-height:0}.portal-batch-triage__layout{display:grid;grid-template-columns:60fr 40fr;grid-gap:var(--space-6,24px);gap:var(--space-6,24px);flex:1 1;min-height:0}.portal-batch-triage__left,.portal-batch-triage__panel,.portal-batch-triage__right{display:flex;flex-direction:column;min-height:0}.portal-batch-triage__panel{gap:var(--space-4,16px);background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-lg);padding:var(--space-5,20px);flex:1 1;overflow:hidden}.portal-batch-triage__panel-header{display:flex;align-items:center;gap:var(--space-3,12px);font-size:var(--portal-type-body-sm-size);font-weight:500;color:var(--portal-text-secondary);padding-bottom:var(--space-3,12px);border-bottom:1px solid var(--portal-border-subtle)}.portal-batch-triage__textarea{flex:1 1;min-height:280px;resize:vertical;background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);color:var(--portal-text-primary);font-size:var(--portal-type-body-sm-size);font-family:var(--portal-font-mono);line-height:1.6;padding:var(--space-4,16px);outline:none;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-batch-triage__textarea:focus{border-color:var(--portal-accent)}.portal-batch-triage__textarea::placeholder{color:var(--portal-text-quaternary)}.portal-batch-triage__textarea:disabled{opacity:.5;cursor:not-allowed}.portal-batch-triage__controls{display:flex;align-items:flex-end;gap:var(--space-4,16px);flex-wrap:wrap}.portal-batch-triage__project-select-wrap{display:flex;flex-direction:column;gap:var(--space-2,8px);flex:1 1;min-width:140px}.portal-batch-triage__label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--portal-text-tertiary)}.portal-batch-triage__select{height:32px;background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);color:var(--portal-text-primary);font-size:var(--portal-type-body-sm-size);padding:0 var(--space-3,12px);outline:none;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-batch-triage__select:focus{border-color:var(--portal-accent)}.portal-batch-triage__select:disabled{opacity:.5;cursor:not-allowed}.portal-batch-triage__loading-text{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);height:32px;display:flex;align-items:center}.portal-batch-triage__analyse-btn{display:flex;align-items:center;gap:var(--space-2,8px);flex-shrink:0;white-space:nowrap}.portal-batch-triage__char-count{font-size:11px;color:var(--portal-text-quaternary);text-align:right;margin:0}.portal-batch-triage__error{color:var(--portal-status-danger,#f87171);background:color-mix(in srgb,var(--portal-status-danger,#f87171) 10%,transparent);border:1px solid color-mix(in srgb,var(--portal-status-danger,#f87171) 30%,transparent);border-radius:var(--radius-md)}.portal-batch-triage__error,.portal-batch-triage__success{font-size:var(--portal-type-body-sm-size);padding:var(--space-3,12px) var(--space-4,16px);margin:0}.portal-batch-triage__success{color:var(--portal-status-success,#4ade80);background:color-mix(in srgb,var(--portal-status-success,#4ade80) 10%,transparent);border:1px solid color-mix(in srgb,var(--portal-status-success,#4ade80) 30%,transparent);border-radius:var(--radius-md)}.portal-batch-triage__progress{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary);margin:0}.portal-batch-triage__right .portal-batch-triage__panel{overflow-y:auto}.portal-batch-triage__toggle-all{margin-left:auto;font-size:11px}.portal-batch-triage__items{display:flex;flex-direction:column;gap:var(--space-3,12px);overflow-y:auto;flex:1 1}.portal-batch-triage__analysing{display:flex;flex-direction:column;gap:var(--space-3,12px)}.portal-batch-triage__card-skeleton{height:88px;border-radius:var(--radius-md);background:var(--portal-bg-overlay);animation:portal-skeleton-pulse 1.4s ease-in-out infinite}@keyframes portal-skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.portal-batch-triage__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4,16px);flex:1 1;color:var(--portal-text-tertiary);text-align:center;padding:var(--space-8,32px)}.portal-batch-triage__empty p{margin:0;font-size:var(--portal-type-body-sm-size);max-width:260px}.portal-batch-triage__card{display:flex;align-items:flex-start;gap:var(--space-3,12px);padding:var(--space-4,16px);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);background:var(--portal-bg-overlay);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),border-color var(--dur-fast) var(--ease-quick);-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal-batch-triage__card:hover{background:var(--portal-bg-selected);border-color:var(--portal-border-default)}.portal-batch-triage__card--checked{border-color:var(--portal-accent);background:color-mix(in srgb,var(--portal-accent) 6%,var(--portal-bg-overlay))}.portal-batch-triage__card-check{flex-shrink:0;margin-top:1px;color:var(--portal-text-tertiary)}.portal-batch-triage__card--checked .portal-batch-triage__card-check{color:var(--portal-accent)}.portal-batch-triage__card-body{display:flex;flex-direction:column;gap:var(--space-2,8px);min-width:0;flex:1 1}.portal-batch-triage__card-title{margin:0;font-size:var(--portal-type-body-sm-size);font-weight:500;color:var(--portal-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-batch-triage__card-summary{margin:0;font-size:12px;color:var(--portal-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portal-batch-triage__card-meta{display:flex;align-items:center;gap:var(--space-2,8px)}.portal-batch-triage__cat-badge{font-size:10px;font-weight:500;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.portal-batch-triage__cat-badge--bug{background:color-mix(in srgb,#f87171 15%,transparent);color:#f87171}.portal-batch-triage__cat-badge--feature{background:color-mix(in srgb,#60a5fa 15%,transparent);color:#60a5fa}.portal-batch-triage__cat-badge--question{background:color-mix(in srgb,#a78bfa 15%,transparent);color:#a78bfa}.portal-batch-triage__cat-badge--other{background:var(--portal-bg-raised);color:var(--portal-text-tertiary)}.portal-batch-triage__prio-badge{font-size:10px;font-weight:500;padding:1px 6px;border-radius:4px;text-transform:capitalize;letter-spacing:.04em}.portal-batch-triage__prio-badge--high{background:color-mix(in srgb,#fb923c 15%,transparent);color:#fb923c}.portal-batch-triage__prio-badge--medium{background:color-mix(in srgb,#facc15 15%,transparent);color:#facc15}.portal-batch-triage__prio-badge--low{background:var(--portal-bg-raised);color:var(--portal-text-quaternary)}.portal-batch-triage__spin{animation:portal-batch-triage-spin .9s linear infinite}@keyframes portal-batch-triage-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.portal-batch-triage__footer{display:flex;flex-direction:column;gap:var(--space-3,12px);padding-top:var(--space-4,16px);border-top:1px solid var(--portal-border-subtle)}.portal-batch-triage__create-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2,8px);width:100%}.portal-chat-widget__trigger{position:fixed;bottom:var(--space-7);right:var(--space-7);z-index:80;width:52px;height:52px;border-radius:var(--radius-full);background:var(--portal-accent);color:var(--portal-text-on-accent);border:none;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-lg);transition:background var(--dur-fast) var(--ease-quick),transform var(--dur-fast) var(--ease-bounce)}.portal-chat-widget__trigger:hover{background:var(--portal-accent-hover);transform:scale(1.06)}.portal-chat-widget__trigger:focus-visible{outline:none;box-shadow:var(--shadow-ring-focus)}.portal-chat-widget__panel{position:fixed;bottom:calc(var(--space-7) + 52px + var(--space-4));right:var(--space-7);z-index:90;width:360px;height:500px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:portal-chat-widget-in var(--dur-base) var(--ease-spring)}@keyframes portal-chat-widget-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-height:600px){.portal-chat-widget__panel{height:calc(100vh - 120px);bottom:calc(var(--space-4) + 52px + var(--space-3))}.portal-chat-widget__trigger{bottom:var(--space-4);right:var(--space-4)}}.portal-chat-widget__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--portal-border-subtle);flex-shrink:0}.portal-chat-widget__title{font-size:var(--portal-type-h4-size);font-weight:var(--portal-type-h4-weight);color:var(--portal-text-primary);line-height:1}.portal-chat-widget__close{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--portal-text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),color var(--dur-fast) var(--ease-quick);flex-shrink:0}.portal-chat-widget__close:hover{background:var(--portal-bg-overlay);color:var(--portal-text-primary)}.portal-chat-widget__close:focus-visible{outline:none;box-shadow:var(--shadow-ring-focus)}.portal-chat-widget__body,.portal-chat-widget__layout{flex:1 1;display:flex;flex-direction:column;overflow:hidden}.portal-chat-widget__messages{flex:1 1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);scrollbar-width:thin;scrollbar-color:var(--portal-border-default) transparent}.portal-chat-widget__messages::-webkit-scrollbar{width:4px}.portal-chat-widget__messages::-webkit-scrollbar-thumb{background:var(--portal-border-default);border-radius:var(--radius-full)}.portal-chat-widget__empty{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);line-height:1.55;text-align:center;padding:var(--space-7) var(--space-5)}.portal-chat-widget__bubble{max-width:86%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--portal-type-body-sm-size);line-height:1.5;word-break:break-word}.portal-chat-widget__bubble--user{align-self:flex-end;background:var(--portal-accent);color:var(--portal-text-on-accent);border-bottom-right-radius:var(--radius-xs)}.portal-chat-widget__bubble--assistant{align-self:flex-start;background:var(--portal-bg-overlay);color:var(--portal-text-primary);border-bottom-left-radius:var(--radius-xs)}.portal-chat-widget__bubble--thinking{display:flex;align-items:center;gap:4px;padding:var(--space-4) var(--space-5);min-width:52px}.portal-chat-widget__dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--portal-text-tertiary);animation:portal-chat-dot-pulse 1.2s var(--ease-linear) infinite}.portal-chat-widget__dot:nth-child(2){animation-delay:.2s}.portal-chat-widget__dot:nth-child(3){animation-delay:.4s}@keyframes portal-chat-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.portal-chat-widget__error{font-size:var(--portal-type-body-sm-size);color:var(--portal-status-red);background:var(--portal-status-red-bg);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);align-self:stretch}.portal-chat-widget__context-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-5) 0 var(--space-5);flex-shrink:0}.portal-chat-widget__context-chip{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary);background:var(--portal-bg-overlay);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-full);padding:2px var(--space-3);max-width:100%}.portal-chat-widget__context-chip>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-chat-widget__context-unpin{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--portal-text-tertiary);cursor:pointer;padding:2px;border-radius:var(--radius-full)}.portal-chat-widget__context-unpin:hover{color:var(--portal-text-primary);background:var(--portal-bg-elevated)}.portal-chat-widget__context-drift{font-size:var(--portal-type-body-xs-size,11px);color:var(--portal-text-tertiary)}.portal-chat-widget__input-row{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--portal-border-subtle);flex-shrink:0}.portal-chat-widget__textarea{flex:1 1;resize:none;background:var(--portal-bg-overlay);border:1px solid var(--portal-border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--portal-text-primary);font-size:var(--portal-type-body-sm-size);font-family:var(--portal-font-sans);line-height:1.5;min-height:36px;max-height:120px;overflow-y:auto;transition:border-color var(--dur-fast) var(--ease-quick);field-sizing:content}.portal-chat-widget__textarea::placeholder{color:var(--portal-text-quaternary)}.portal-chat-widget__textarea:focus{outline:none;border-color:var(--portal-border-focus)}.portal-chat-widget__textarea:disabled{opacity:.5;cursor:not-allowed}.portal-chat-widget__send{width:36px;height:36px;border-radius:var(--radius-md);border:none;background:var(--portal-accent);color:var(--portal-text-on-accent);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background var(--dur-fast) var(--ease-quick)}.portal-chat-widget__send:hover:not(:disabled){background:var(--portal-accent-hover)}.portal-chat-widget__send:focus-visible{outline:none;box-shadow:var(--shadow-ring-focus)}.portal-chat-widget__send:disabled{opacity:.4;cursor:not-allowed}.portal-chat-widget__success{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-7) var(--space-6);text-align:center}.portal-chat-widget__success-icon{color:var(--portal-status-green)}.portal-chat-widget__success-heading{font-size:var(--portal-type-h4-size);font-weight:var(--portal-type-h4-weight);color:var(--portal-text-primary);margin:0}.portal-chat-widget__success-link{font-family:var(--portal-font-mono);font-size:var(--portal-type-caption-size);color:var(--portal-accent);text-decoration:none;background:var(--portal-accent-subtle);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm)}.portal-chat-widget__success-link:hover{text-decoration:underline}.portal-chat-widget__success-hint{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);margin:0;line-height:1.5}.portal-chat-widget__success-view{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--portal-accent);color:var(--portal-text-on-accent);font-size:var(--portal-type-body-sm-size);font-weight:500;text-decoration:none;transition:background var(--dur-fast) var(--ease-quick)}.portal-chat-widget__success-view:hover{background:var(--portal-accent-hover)}.portal-chat-widget__success-reset{background:transparent;border:none;font-size:var(--portal-type-body-sm-size);color:var(--portal-text-tertiary);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-quick)}.portal-chat-widget__success-reset:hover,.portal-issue-description{color:var(--portal-text-secondary)}.portal-issue-description{font-size:var(--portal-type-body-size);line-height:1.6;margin:0 0 16px;white-space:pre-wrap;word-break:break-word}.portal-issue-description--placeholder{background:none;border:none;padding:0;font-size:var(--portal-type-body-size);color:var(--portal-text-tertiary);cursor:pointer;font-style:italic;margin-bottom:16px;display:block;text-align:left}.portal-issue-description--placeholder:hover{color:var(--portal-text-secondary)}.portal-issue-description--empty{color:var(--portal-text-tertiary);font-style:italic}.portal-issue-description-editor{margin-bottom:16px}.portal-issue-description-editor__textarea{width:100%;background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:var(--radius-md);color:var(--portal-text-primary);font-size:var(--portal-type-body-size);font-family:inherit;line-height:1.6;padding:8px 10px;resize:vertical;box-sizing:border-box;transition:border-color var(--dur-fast) var(--ease-quick)}.portal-issue-description-editor__textarea:focus{outline:none;border-color:var(--portal-accent)}.portal-issue-description-editor__actions{display:flex;gap:var(--space-2);margin-top:6px}.portal-btn--sm{font-size:var(--portal-type-body-sm-size);padding:3px 10px;height:26px}.portal-bulk-select-btn--active{background:var(--portal-accent-subtle);color:var(--portal-accent);border-color:color-mix(in srgb,var(--portal-accent) 30%,transparent)}.portal-bulk-action-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;justify-content:center;padding:var(--space-4);background:color-mix(in srgb,var(--portal-bg-app) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--portal-border-subtle)}.portal-bulk-action-bar__inner{display:flex;align-items:center;gap:var(--space-4);max-width:640px;width:100%;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);box-shadow:0 4px 16px rgba(0,0,0,.28)}.portal-bulk-action-bar__count{font-size:var(--portal-type-body-sm-size);font-weight:500;color:var(--portal-text-primary);white-space:nowrap;flex-shrink:0}.portal-bulk-action-bar__actions{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.portal-bulk-action-bar__dropdown-wrap{display:flex;align-items:center}.portal-bulk-action-bar__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--portal-border-default);background:var(--portal-bg-overlay);color:var(--portal-text-primary);font-size:var(--portal-type-body-sm-size);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),border-color var(--dur-fast) var(--ease-quick)}.portal-bulk-action-bar__select:hover:not(:disabled){background:var(--portal-bg-selected);border-color:var(--portal-border-strong)}.portal-bulk-action-bar__select:focus{outline:2px solid var(--portal-accent);outline-offset:2px}.portal-bulk-action-bar__select:disabled{opacity:.45;cursor:not-allowed}.portal-bulk-action-bar__spinner{display:inline-flex;align-items:center;color:var(--portal-text-tertiary)}.portal-bulk-action-bar__clear{flex-shrink:0}.portal-bulk-card-checkbox{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}.portal-bulk-card-checkbox__input{width:14px;height:14px;margin:0;accent-color:var(--portal-accent);pointer-events:none}.portal-board__card--selected{outline:2px solid var(--portal-accent);outline-offset:1px;background:color-mix(in srgb,var(--portal-accent) 6%,var(--portal-bg-raised))}.portal-bulk-list-checkbox{width:14px;height:14px;margin:0;accent-color:var(--portal-accent);pointer-events:none}.portal-issue-list-view__row--bulk-selected{background:color-mix(in srgb,var(--portal-accent) 8%,var(--portal-bg-surface))}.portal-portfolio-progress{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.portal-portfolio-progress__bar-wrap{flex:1 1;height:4px;border-radius:9999px;background:var(--portal-bg-overlay);overflow:hidden}.portal-portfolio-progress__bar-fill{height:100%;background:var(--portal-accent);border-radius:9999px;transition:width .3s var(--ease-quick)}.portal-portfolio-progress__label{flex-shrink:0;white-space:nowrap}.portal-portfolio-progress__empty,.portal-portfolio-progress__label{font-size:11px;color:var(--portal-text-tertiary)}.portal-architect-layout{display:flex;flex:1 1;min-height:0;overflow:hidden}.portal-architect-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--portal-border-subtle);background:var(--portal-bg-sidebar);overflow:hidden}.portal-architect-sidebar__new-btn{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--portal-border-default);background:var(--portal-bg-overlay);color:var(--portal-text-secondary);font-size:var(--portal-type-body-sm-size);font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),border-color var(--dur-fast) var(--ease-quick);flex-shrink:0}.portal-architect-sidebar__new-btn:hover{background:var(--portal-bg-selected);border-color:var(--portal-border-strong);color:var(--portal-text-primary)}.portal-architect-sidebar__list{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:0 var(--space-2) var(--space-4);scrollbar-width:thin;scrollbar-color:var(--portal-border-default) transparent}.portal-architect-sidebar__empty{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-quaternary);padding:var(--space-5) var(--space-4);text-align:center}.portal-architect-sidebar__item{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:none;background:transparent;cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-quick);width:100%}.portal-architect-sidebar__item:hover{background:var(--portal-bg-overlay)}.portal-architect-sidebar__item--active{background:var(--portal-bg-selected)}.portal-architect-sidebar__item-title{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.portal-architect-sidebar__item-date{font-size:11px;color:var(--portal-text-quaternary)}.portal-architect-chat{flex:1 1;display:flex;flex-direction:column;min-width:0;background:var(--portal-bg-surface)}.portal-architect-chat__messages{flex:1 1;overflow-y:auto;padding:var(--space-6) var(--space-7);display:flex;flex-direction:column;gap:var(--space-5);scrollbar-width:thin;scrollbar-color:var(--portal-border-default) transparent}.portal-architect-chat__messages::-webkit-scrollbar{width:4px}.portal-architect-chat__messages::-webkit-scrollbar-thumb{background:var(--portal-border-default);border-radius:var(--radius-full)}.portal-architect-chat__empty{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--portal-text-tertiary);font-size:var(--portal-type-body-sm-size);text-align:center;padding:var(--space-10) var(--space-7)}.portal-architect-chat__bubble-row{display:flex;align-items:flex-start;gap:var(--space-4);max-width:800px}.portal-architect-chat__bubble-row--user{flex-direction:row-reverse;align-self:flex-end;max-width:680px}.portal-architect-chat__bubble-col{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.portal-architect-chat__avatar{width:28px;height:28px;border-radius:var(--radius-full);background:var(--portal-accent);color:var(--portal-text-on-accent);display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0;margin-top:2px}.portal-architect-chat__bubble{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);font-size:var(--portal-type-body-size);line-height:1.6;word-break:break-word}.portal-architect-chat__bubble--user{background:var(--portal-accent);color:var(--portal-text-on-accent);border-bottom-right-radius:var(--radius-xs)}.portal-architect-chat__bubble--assistant{background:var(--portal-bg-raised);color:var(--portal-text-primary);border:1px solid var(--portal-border-subtle);border-bottom-left-radius:var(--radius-xs)}.portal-architect-chat__bubble--thinking{display:flex;align-items:center;gap:4px;padding:var(--space-4) var(--space-5);min-width:52px}.portal-architect-chat__error{align-self:flex-start;font-size:var(--portal-type-body-sm-size);color:#f87171;background:color-mix(in srgb,#f87171 10%,var(--portal-bg-raised));border:1px solid color-mix(in srgb,#f87171 30%,transparent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);max-width:600px}.portal-architect-chat__input-row{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-7) var(--space-6);border-top:1px solid var(--portal-border-subtle);background:var(--portal-bg-surface);flex-shrink:0}.portal-architect-chat__textarea{flex:1 1;resize:none;border-radius:var(--radius-lg);border:1px solid var(--portal-border-default);background:var(--portal-bg-overlay);color:var(--portal-text-primary);font-size:var(--portal-type-body-size);font-family:inherit;line-height:1.5;padding:var(--space-4) var(--space-5);transition:border-color var(--dur-fast) var(--ease-quick);min-height:72px}.portal-architect-chat__textarea:focus{outline:none;border-color:var(--portal-accent)}.portal-architect-chat__textarea:disabled{opacity:.5;cursor:not-allowed}.portal-architect-chat__send{display:inline-flex;align-items:center;gap:var(--space-3);height:40px;padding:0 var(--space-5);border-radius:var(--radius-md);border:none;background:var(--portal-accent);color:var(--portal-text-on-accent);font-size:var(--portal-type-body-sm-size);font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-quick),opacity var(--dur-fast) var(--ease-quick);flex-shrink:0}.portal-architect-chat__send:hover:not(:disabled){background:var(--portal-accent-hover)}.portal-architect-chat__send:disabled{opacity:.4;cursor:not-allowed}.portal-architect-actions-card{display:flex;flex-direction:column;gap:var(--space-2);background:color-mix(in srgb,var(--portal-accent) 8%,var(--portal-bg-raised));border:1px solid color-mix(in srgb,var(--portal-accent) 25%,transparent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.portal-architect-actions-card__item{display:flex;align-items:center;gap:var(--space-2);font-size:12px}.portal-architect-actions-card__label{color:var(--portal-text-tertiary)}.portal-architect-actions-card__id{font-family:var(--portal-font-mono);font-size:11px;color:var(--portal-accent);background:color-mix(in srgb,var(--portal-accent) 12%,transparent);border-radius:var(--radius-xs);padding:0 var(--space-2)}.portal-architect-actions-card__title{color:var(--portal-text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-architect-actions-card__link{color:var(--portal-text-tertiary);display:inline-flex;align-items:center;margin-left:auto;flex-shrink:0}.portal-architect-actions-card__link:hover{color:var(--portal-accent)}.portal-product-registry-panel{width:300px;flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--portal-border-subtle);background:var(--portal-bg-sidebar);overflow:hidden}.portal-product-registry-panel__header{display:flex;align-items:center;gap:var(--space-3);height:44px;padding:0 var(--space-5);border-bottom:1px solid var(--portal-border-subtle);font-size:var(--portal-type-body-sm-size);font-weight:600;color:var(--portal-text-primary);flex-shrink:0}.portal-product-registry-panel__list{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--portal-border-default) transparent}.portal-product-registry-panel__empty,.portal-product-registry-panel__loading{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-quaternary);padding:var(--space-7) var(--space-5);text-align:center}.portal-product-registry-item{border-bottom:1px solid var(--portal-border-subtle)}.portal-product-registry-item__header{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);background:transparent;border:none;cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-quick)}.portal-product-registry-item--expanded .portal-product-registry-item__header,.portal-product-registry-item__header:hover{background:var(--portal-bg-overlay)}.portal-product-registry-item__name{font-size:var(--portal-type-body-sm-size);font-weight:600;color:var(--portal-text-primary);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-product-registry-item__chevron{color:var(--portal-text-tertiary);flex-shrink:0;transition:transform var(--dur-fast) var(--ease-quick)}.portal-product-registry-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--badge-color,var(--portal-text-tertiary));border:1px solid var(--badge-color,var(--portal-border-default));border-radius:var(--radius-full);padding:0 var(--space-3);line-height:18px;flex-shrink:0}.portal-product-registry-item__snippet{font-size:12px;color:var(--portal-text-tertiary);padding:0 var(--space-5) var(--space-3);line-height:1.45}.portal-product-registry-item__detail{padding:0 var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.portal-product-registry-item__description{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary);line-height:1.55}.portal-product-registry-item__meta{display:flex;align-items:flex-start;gap:var(--space-3)}.portal-product-registry-item__meta-label{font-size:11px;color:var(--portal-text-tertiary);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding-top:1px}.portal-product-registry-item__meta-value{font-size:12px;color:var(--portal-text-secondary);font-family:var(--portal-font-mono);word-break:break-all}.portal-product-registry-item__notion-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--portal-accent);text-decoration:none}.portal-product-registry-item__notion-link:hover{text-decoration:underline}.portal-promote-modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:var(--space-7)}.portal-promote-modal{width:480px;max-width:100%;background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:portal-chat-widget-in var(--dur-base) var(--ease-spring)}.portal-promote-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--portal-border-subtle);flex-shrink:0}.portal-promote-modal__title{font-size:var(--portal-type-h4-size);font-weight:var(--portal-type-h4-weight);color:var(--portal-text-primary)}.portal-promote-modal__body{padding:var(--space-6);display:flex;flex-direction:column}.portal-promote-modal__label{display:block;font-size:12px;font-weight:500;color:var(--portal-text-secondary);margin-bottom:var(--space-2)}.portal-promote-modal__input{width:100%;height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--portal-border-default);background:var(--portal-bg-overlay);color:var(--portal-text-primary);font-size:var(--portal-type-body-sm-size);font-family:inherit;transition:border-color var(--dur-fast) var(--ease-quick);box-sizing:border-box}.portal-promote-modal__input:focus{outline:none;border-color:var(--portal-accent)}.portal-promote-modal__textarea{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--portal-border-default);background:var(--portal-bg-overlay);color:var(--portal-text-primary);font-size:var(--portal-type-body-sm-size);font-family:inherit;line-height:1.5;resize:vertical;transition:border-color var(--dur-fast) var(--ease-quick);box-sizing:border-box}.portal-promote-modal__textarea:focus{outline:none;border-color:var(--portal-accent)}.portal-promote-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--portal-border-subtle);flex-shrink:0}.portal-btn--active{background:var(--portal-bg-selected);color:var(--portal-text-primary)}.portal-digest{display:flex;flex-direction:column;gap:var(--space-7);max-width:720px;width:100%}.portal-digest__notice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--portal-accent-subtle);border:1px solid rgba(99,102,241,.25);font-size:var(--portal-type-body-sm-size);color:var(--portal-text-secondary)}.portal-digest__group{display:flex;flex-direction:column;gap:var(--space-3)}.portal-digest__group-heading{display:flex;align-items:center;gap:var(--space-2);font-size:var(--portal-type-micro-size);font-weight:var(--portal-type-micro-weight);letter-spacing:var(--portal-type-micro-tracking);text-transform:uppercase;color:var(--portal-text-tertiary);margin:0 0 var(--space-1)}.portal-digest__group-key{border-radius:var(--radius-sm);font-family:var(--font-mono,monospace);font-size:10px}.portal-digest__group-count,.portal-digest__group-key{padding:1px 6px;background:var(--portal-bg-overlay);color:var(--portal-text-tertiary);letter-spacing:0;text-transform:none}.portal-digest__group-count{margin-left:auto;border-radius:var(--radius-full);font-size:11px}.portal-digest__cards{display:flex;flex-direction:column;gap:var(--space-2)}.portal-digest__card{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);transition:background var(--dur-fast) var(--ease-quick)}.portal-digest__card:hover{background:var(--portal-bg-overlay)}.portal-digest__card-icon{flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--portal-bg-overlay);color:var(--portal-text-secondary);margin-top:1px}.portal-digest__card-icon--mention{background:var(--portal-accent-subtle);color:var(--portal-accent)}.portal-digest__card-icon--comment,.portal-digest__card-icon--status_change{background:rgba(59,130,246,.12);color:var(--portal-status-blue)}.portal-digest__card-icon--assigned{background:rgba(139,92,246,.12);color:#8b5cf6}.portal-digest__card-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.portal-digest__card-desc{font-size:var(--portal-type-body-sm-size);color:var(--portal-text-primary);line-height:1.5}.portal-digest__entity-link{color:var(--portal-text-primary);text-decoration:underline;text-underline-offset:2px}.portal-digest__entity-link:hover{color:var(--portal-accent)}.portal-digest__card-time{font-size:var(--portal-type-caption-size);color:var(--portal-text-tertiary)}.portal-digest__footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--portal-border-subtle)}.portal-digest__generated{font-size:var(--portal-type-caption-size);color:var(--portal-text-tertiary)}.portal-custom-fields{margin-top:24px}.portal-custom-fields__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.portal-custom-fields__title{font-size:13px;font-weight:500;color:var(--portal-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0}.portal-custom-fields__list{display:flex;flex-direction:column;gap:8px}.portal-custom-fields__row{display:grid;grid-template-columns:140px 1fr;grid-gap:8px 12px;gap:8px 12px;align-items:center}.portal-custom-fields__label{font-size:12px;color:var(--portal-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-custom-fields__input{background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:6px;padding:5px 8px;color:var(--portal-text-primary);font-size:13px;font-family:inherit;width:100%;transition:border-color .12s}.portal-custom-fields__input:focus{outline:none;border-color:var(--portal-accent)}.portal-custom-fields__input:disabled{opacity:.6;cursor:default}.portal-custom-fields__select{background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:6px;padding:5px 8px;color:var(--portal-text-primary);font-size:13px;font-family:inherit;width:100%;cursor:pointer}.portal-custom-fields__select:focus{outline:none;border-color:var(--portal-accent)}.portal-custom-fields__url-wrap{display:flex;align-items:center;gap:6px}.portal-custom-fields__url-link{font-size:12px;color:var(--portal-accent);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.portal-custom-fields__url-link:hover{text-decoration:underline}.portal-custom-fields__save-indicator{font-size:11px;color:var(--portal-text-tertiary);margin-left:4px;opacity:0;transition:opacity .2s}.portal-custom-fields__save-indicator--visible{opacity:1}.portal-custom-fields__empty{font-size:12px;color:var(--portal-text-tertiary)}.portal-custom-fields-admin{margin-top:32px}.portal-custom-fields-admin__heading{font-size:16px;font-weight:600;margin-bottom:12px}.portal-custom-fields-admin__list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:6px}.portal-custom-fields-admin__item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:6px}.portal-custom-fields-admin__item-name{font-size:13px;font-weight:500}.portal-custom-fields-admin__item-type{font-size:11px;color:var(--portal-text-tertiary);background:var(--portal-bg-overlay);border-radius:4px;padding:2px 6px}.portal-custom-fields-admin__add-form{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;align-items:end;margin-top:8px}.portal-custom-fields-admin__add-form-full{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:8px;margin-top:8px}.portal-custom-fields-admin__add-form-row{display:flex;gap:8px;align-items:flex-end}.portal-custom-fields-admin__field{display:flex;flex-direction:column;gap:4px;flex:1 1}.portal-custom-fields-admin__field-label{font-size:12px;color:var(--portal-text-tertiary)}.portal-custom-fields-admin__input{background:var(--portal-bg-surface);border:1px solid var(--portal-border-subtle);border-radius:6px;padding:6px 10px;color:var(--portal-text-primary);font-size:13px;font-family:inherit;width:100%}.portal-custom-fields-admin__input:focus{outline:none;border-color:var(--portal-accent)}.portal-custom-fields-admin__select{background:var(--portal-bg-surface);border:1px solid var(--portal-border-subtle);border-radius:6px;padding:6px 10px;color:var(--portal-text-primary);font-size:13px;font-family:inherit;width:100%;cursor:pointer}.portal-custom-fields-admin__select:focus{outline:none;border-color:var(--portal-accent)}.portal-custom-fields-admin__options-hint{font-size:11px;color:var(--portal-text-tertiary);margin-top:2px}.portal-cycles{max-width:720px}.portal-cycles__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.portal-cycles__title{font-size:16px;font-weight:600;margin:0;color:var(--portal-text-primary)}.portal-cycles__list{display:flex;flex-direction:column;gap:8px}.portal-cycles-empty{font-size:13px;color:var(--portal-text-tertiary);padding:16px 0}.portal-cycles-card{background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:8px;overflow:hidden}.portal-cycles-card__header{display:flex;align-items:center;gap:10px;padding:10px 14px}.portal-cycles-card__expand{background:none;border:none;cursor:pointer;color:var(--portal-text-tertiary);padding:2px;display:flex;align-items:center;flex-shrink:0}.portal-cycles-card__expand:hover{color:var(--portal-text-secondary)}.portal-cycles-card__meta{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0}.portal-cycles-card__name{font-size:13px;font-weight:500;color:var(--portal-text-primary)}.portal-cycles-card__desc,.portal-cycles-card__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-cycles-card__desc{font-size:12px;color:var(--portal-text-tertiary);max-width:200px}.portal-cycles-card__dates{display:flex;align-items:center}.portal-cycles-card__count,.portal-cycles-card__dates{font-size:12px;color:var(--portal-text-tertiary);white-space:nowrap;flex-shrink:0}.portal-cycles-card__delete{flex-shrink:0;opacity:0;transition:opacity .15s}.portal-cycles-card:hover .portal-cycles-card__delete{opacity:1}.portal-cycles-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;letter-spacing:.02em;flex-shrink:0}.portal-cycles-badge--planned{background:var(--portal-bg-overlay);color:var(--portal-text-tertiary)}.portal-cycles-badge--active{background:color-mix(in srgb,var(--portal-accent) 20%,transparent);color:var(--portal-accent)}.portal-cycles-badge--completed{background:color-mix(in srgb,#4cb782 20%,transparent);color:#4cb782}.portal-cycles-card__issues{border-top:1px solid var(--portal-border-subtle);padding:8px 14px 12px 38px}.portal-cycles-issue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.portal-cycles-issue-row{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;font-size:13px}.portal-cycles-issue-row:hover{background:var(--portal-bg-overlay)}.portal-cycles-issue-id{font-size:11px;flex-shrink:0}.portal-cycles-issue-title{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--portal-text-primary)}.portal-cycles-issue-remove{opacity:0;transition:opacity .15s;font-size:14px;line-height:1;color:var(--portal-text-tertiary)}.portal-cycles-issue-row:hover .portal-cycles-issue-remove{opacity:1}.portal-cycles-empty-hint{font-size:12px;color:var(--portal-text-tertiary);margin:4px 0 8px}.portal-cycles-add-issue{margin-top:8px}.portal-cycles-add-issue__trigger{font-size:12px;gap:4px;padding:4px 8px;color:var(--portal-text-tertiary)}.portal-cycles-add-issue__select{background:var(--portal-bg-app);border:1px solid var(--portal-border-default);border-radius:6px;color:var(--portal-text-primary);font-size:13px;padding:4px 8px;max-width:100%}.portal-cycles-new-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-focus);border-radius:8px;margin-bottom:8px}.portal-cycles-new-form__input{background:var(--portal-bg-app);border:1px solid var(--portal-border-default);border-radius:6px;color:var(--portal-text-primary);font-size:13px;padding:6px 10px;flex:1 1;min-width:140px}.portal-cycles-new-form__input--date{flex:0 0 auto;min-width:unset;width:130px}.portal-cycles-new-form__select{background:var(--portal-bg-app);border:1px solid var(--portal-border-default);border-radius:6px;color:var(--portal-text-primary);font-size:13px;padding:6px 10px}.portal-cycles-new-form__actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.portal-cycles-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;background:color-mix(in srgb,var(--portal-accent) 15%,transparent);color:var(--portal-accent);white-space:nowrap}.portal-cycles-card__progress{flex:0 0 80px;height:4px;border-radius:2px;background:var(--portal-border-subtle);overflow:hidden}.portal-cycles-card__progress-fill{height:100%;border-radius:2px;background:var(--portal-accent);transition:width .3s ease;min-width:2px}.portal-chart-svg{width:100%;height:auto;display:block;overflow:visible}.portal-chart-grid{stroke:var(--portal-border-subtle);stroke-width:1;stroke-dasharray:2 4}.portal-chart-axis-label{font-size:10px;fill:var(--portal-text-tertiary);font-family:var(--portal-font-mono,monospace)}.portal-chart-loading{padding:8px 0}.portal-chart-empty{font-size:12px;color:var(--portal-text-tertiary);padding:8px 0}.portal-chart-section{padding:12px 16px 4px;border-bottom:1px solid var(--portal-border-subtle)}.portal-chart-section--velocity{border-bottom:1px solid var(--portal-border-subtle);margin-bottom:4px}.portal-chart-section__label{font-size:11px;font-weight:600;color:var(--portal-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}.portal-chart-completion{display:flex;align-items:center;gap:10px;padding:6px 0 8px}.portal-chart-progress{flex:1 1;height:4px;border-radius:2px;background:var(--portal-border-subtle);overflow:hidden}.portal-chart-progress__fill{height:100%;border-radius:2px;background:var(--portal-accent);transition:width .3s ease;min-width:2px}.portal-chart-completion__label{font-size:11px;color:var(--portal-text-secondary);white-space:nowrap;flex-shrink:0}.portal-chart-burndown{margin:0}.portal-chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.portal-chart-line--ideal{stroke:var(--portal-text-tertiary);stroke-dasharray:5 4;opacity:.6}.portal-chart-line--actual{stroke:var(--portal-accent)}.portal-chart-dot{fill:var(--portal-accent);opacity:0;transition:opacity .15s}.portal-chart-burndown:hover .portal-chart-dot{opacity:1}.portal-chart-legend{display:flex;gap:16px;padding:4px 0 0 36px;margin:0}.portal-chart-legend__item{font-size:11px;color:var(--portal-text-tertiary);display:flex;align-items:center;gap:5px}.portal-chart-legend__item:before{content:"";display:inline-block;width:16px;height:2px;border-radius:1px}.portal-chart-legend__item--ideal:before{background:repeating-linear-gradient(to right,var(--portal-text-tertiary) 0,var(--portal-text-tertiary) 4px,transparent 4px,transparent 8px);opacity:.6}.portal-chart-legend__item--actual:before{background:var(--portal-accent)}.portal-chart-velocity{margin:0}.portal-chart-bar{fill:var(--portal-accent);opacity:.85;transition:opacity .15s}.portal-chart-bar:hover{opacity:1}.portal-chart-bar-label{font-size:11px;font-weight:600;fill:var(--portal-text-primary);font-family:var(--portal-font-mono,monospace)}.portal-automations{max-width:680px}.portal-automations__heading{font-size:16px;font-weight:600;margin:0 0 16px;color:var(--portal-text-primary)}.portal-automations__list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:6px}.portal-automations__item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-subtle);border-radius:8px;cursor:pointer;transition:border-color .12s,background .12s}.portal-automations__item:hover{border-color:var(--portal-border-default);background:color-mix(in srgb,var(--portal-bg-raised) 90%,var(--portal-accent) 10%)}.portal-automations__item--expanded{border-color:var(--portal-border-focus);flex-direction:column;align-items:stretch;cursor:default}.portal-automations__item-header{display:flex;align-items:center;gap:10px;width:100%;cursor:pointer}.portal-automations__item--expanded .portal-automations__item-header{margin-bottom:12px}.portal-automations__item-name{font-size:13px;font-weight:500;color:var(--portal-text-primary);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-automations__item-summary{font-size:12px;color:var(--portal-text-tertiary);white-space:nowrap}.portal-automations__toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:32px;height:18px;border-radius:9px;background:var(--portal-border-default);border:none;cursor:pointer;flex-shrink:0;transition:background .15s}.portal-automations__toggle:checked{background:var(--portal-accent)}.portal-automations__toggle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s}.portal-automations__toggle:checked:after{transform:translateX(14px)}.portal-automations__edit-form{display:flex;flex-direction:column;gap:10px}.portal-automations__field{display:flex;flex-direction:column;gap:4px}.portal-automations__field-label{font-size:11px;color:var(--portal-text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.portal-automations__input{background:var(--portal-bg-app);border:1px solid var(--portal-border-default);border-radius:6px;color:var(--portal-text-primary);font-size:13px;padding:6px 10px;font-family:inherit}.portal-automations__input:focus{outline:none;border-color:var(--portal-border-focus)}.portal-automations__select{background:var(--portal-bg-app);border:1px solid var(--portal-border-default);border-radius:6px;color:var(--portal-text-primary);font-size:13px;padding:6px 10px;font-family:inherit}.portal-automations__select:focus{outline:none;border-color:var(--portal-border-focus)}.portal-automations__edit-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:4px}.portal-automations__delete-btn{margin-right:auto}.portal-automations__new-form{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--portal-bg-raised);border:1px solid var(--portal-border-focus);border-radius:8px;margin-bottom:12px}.portal-automations__new-form__heading{font-size:13px;font-weight:600;margin:0 0 4px;color:var(--portal-text-primary)}.portal-automations__empty{font-size:13px;color:var(--portal-text-tertiary);margin-bottom:12px}.portal-offline-banner{position:fixed;left:50%;bottom:calc(var(--space-5) + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:9999;display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--portal-bg-overlay);color:var(--portal-text-primary);border:1px solid var(--portal-border-default);border-radius:var(--radius-full);font-size:var(--portal-type-body-sm-size);box-shadow:var(--shadow-lg);max-width:calc(100vw - 2 * var(--space-5));pointer-events:none}.portal-offline-banner>span:first-child{color:var(--portal-status-amber);font-size:10px;line-height:1}.portal-mobile-hamburger{display:none;position:fixed;top:var(--space-4);left:var(--space-4);z-index:60;width:40px;height:40px;border-radius:var(--radius-md);background:var(--portal-bg-raised);border:1px solid var(--portal-border-default);color:var(--portal-text-primary);font-size:18px;align-items:center;justify-content:center}.portal-mobile-scrim{display:none;position:fixed;inset:0;z-index:45;background:var(--portal-bg-overlay-scrim);border:0;padding:0}@media (max-width:720px){.portal-shell,.portal-shell.portal-shell--sidebar-collapsed{grid-template-columns:1fr}.portal-sidebar{position:fixed;top:0;bottom:0;left:0;width:min(280px,86vw);z-index:50;transform:translateX(-100%);transition:transform var(--dur-base) var(--ease-spring);box-shadow:var(--shadow-lg)}.portal-shell--mobile-nav-open .portal-sidebar{transform:translateX(0)}.portal-shell--mobile-nav-open .portal-mobile-scrim{display:block}.portal-mobile-hamburger{display:inline-flex}.portal-main{padding-top:0}.portal-topbar{padding-left:56px;padding-right:var(--space-4);gap:var(--space-3)}.portal-topbar__tabs{font-size:12px}.portal-page{padding:var(--space-5) var(--space-4)}.portal-page__title{font-size:var(--portal-type-h3-size);margin-bottom:var(--space-5)}.portal-portfolio{padding:var(--space-4);gap:var(--space-5)}.portal-portfolio__lane-header{padding:0 var(--space-4);height:36px}.portal-portfolio__lane-body{padding:var(--space-3);gap:var(--space-3)}.portal-filterbar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:var(--space-3) var(--space-4);scrollbar-width:none}.portal-filterbar::-webkit-scrollbar{display:none}.portal-filterbar__pill{flex-shrink:0}.portal-issue-list__row{grid-template-columns:80px minmax(0,1fr);grid-template-areas:"id title" "id meta";height:auto;padding:var(--space-3) var(--space-4);gap:var(--space-2) var(--space-4);row-gap:2px}.portal-issue-list__row-id{grid-area:id;align-self:center}.portal-issue-list__row-title{grid-area:title}.portal-issue-list__row-updated{text-align:left;grid-area:meta}.portal-issue-list__group-header{padding:0 var(--space-4)}.portal-issue-list-view__header{display:none}.portal-issue-list-view__row{grid-template-columns:minmax(0,1fr);height:auto;padding:var(--space-3) var(--space-4);gap:var(--space-2)}.portal-issue-page{grid-template-columns:minmax(0,1fr);gap:var(--space-5);padding:var(--space-5) var(--space-4);max-width:100%}.portal-issue-page__main{max-width:100%}.portal-issue-page__rail{border-left:0;border-top:1px solid var(--portal-border-subtle);padding-left:0;padding-top:var(--space-5)}.portal-issue-title{font-size:var(--portal-type-h3-size)}.portal-rail-row{grid-template-columns:96px 1fr;font-size:var(--portal-type-body-sm-size)}.portal-issue-panel{width:100vw}.portal-inbox{padding:0 var(--space-4)}.portal-inbox__row{padding:var(--space-3) var(--space-3);gap:var(--space-3)}.portal-inbox__type-icon{width:24px;height:24px}.portal-inbox__mark-read{opacity:1}.portal-roadmap{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.portal-roadmap__rail{width:160px;float:left;position:-webkit-sticky;position:sticky;left:0;background:var(--portal-bg-app);z-index:1}.portal-roadmap__row,.portal-roadmap__row--link{padding:0 var(--space-4);font-size:12px}.portal-topbar__breadcrumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.portal-topbar__breadcrumb-sep{display:none}.portal-rail-row{padding:var(--space-2) 0}}@media (max-width:380px){.portal-page{padding:var(--space-4) var(--space-3)}.portal-issue-title,.portal-page__title{font-size:var(--portal-type-h4-size)}.portal-topbar{padding-left:52px;padding-right:var(--space-3);height:44px}.portal-mobile-hamburger{width:36px;height:36px;top:var(--space-3);left:var(--space-3)}}.portal-reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.portal-reports-card{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--portal-bg-raised);border:1px solid var(--portal-border);border-radius:8px;text-decoration:none;color:inherit;transition:border-color .12s ease}.portal-reports-card:hover{border-color:var(--portal-border-focus)}.portal-reports-card__head{display:flex;align-items:center;gap:8px}.portal-reports-card__title{font-size:14px;font-weight:600;color:var(--portal-text-primary)}.portal-reports-card__desc{font-size:12px;color:var(--portal-text-tertiary);margin:0}.portal-reports-card__meta{font-size:11px;color:var(--portal-text-tertiary);display:flex;gap:4px;flex-wrap:wrap}.portal-report-builder__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.portal-report-builder__field{display:flex;flex-direction:column;gap:4px}.portal-report-builder__field-label{font-size:11px;color:var(--portal-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.portal-report-builder__error{margin:12px 0;padding:8px 12px;background:var(--portal-bg-raised);border:1px solid #d25e5e;border-radius:6px;color:#ff9a9a;font-size:13px}.portal-report-builder__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.portal-report-builder__preview{margin-top:16px;padding-top:16px;border-top:1px solid var(--portal-border)}.portal-report-chart{margin:0;padding:12px;background:var(--portal-bg-raised);border:1px solid var(--portal-border);border-radius:8px}.portal-report-chart--pie{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.portal-report-chart__legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:12px;min-width:220px;flex:1 1}.portal-report-chart__legend li{display:flex;align-items:center;gap:8px}.portal-report-chart__legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.portal-chart-number{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--portal-bg-raised);border:1px solid var(--portal-border);border-radius:8px}.portal-chart-number__value{font-size:48px;font-weight:600;color:var(--portal-text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portal-chart-number__label{font-size:12px;color:var(--portal-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.portal-report-table{width:100%;border-collapse:collapse;font-size:13px}.portal-report-table td,.portal-report-table th{padding:6px 12px;border-bottom:1px solid var(--portal-border)}.portal-report-table th{text-align:left;font-weight:600;color:var(--portal-text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.portal-insights{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.portal-insights__rail{border-right:1px solid var(--portal-border);padding-right:12px}.portal-insights__rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.portal-insights__rail-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;background:transparent;border:none;color:var(--portal-text-secondary);font-size:13px;text-align:left;border-radius:4px;cursor:pointer}.portal-insights__rail-item--active,.portal-insights__rail-item:hover{background:var(--portal-bg-elevated)}.portal-insights__rail-item--active{color:var(--portal-text-primary);font-weight:500}.portal-insights__main{min-width:0}.portal-insights__header{margin-bottom:16px}.portal-insights__filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px}.portal-insights__filter{display:flex;flex-direction:column;font-size:11px;color:var(--portal-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.portal-insights__filter input,.portal-insights__filter select{margin-top:4px;padding:4px 8px;background:var(--portal-bg-elevated);color:var(--portal-text-primary);border:1px solid var(--portal-border);border-radius:4px;font-size:13px;text-transform:none;letter-spacing:0}.portal-insights__chart{border:1px solid var(--portal-border);border-radius:6px;padding:16px;background:var(--portal-bg)}