.portal-root{--bg:#0b0d11;--bg-deep:#070a0e;--bg-secondary:#0e1014;--bg-panel:#14171e;--bg-raised:#191d26;--bg-hover:#1f232e;--surface-overlay:#ffffff0a;--color-white:#fff;--fg:#edeff5;--fg-2:#aeb6c2;--fg-dim:#9ba4b2;--fg-nontext:#6b7280;--fg-3:var(--fg-dim);--fg-4:var(--fg-dim);--primary:#006fff;--primary-hover:#3b8dff;--primary-active:#0057cc;--primary-light:#006fff24;--primary-subtle:#006fff14;--primary-edge:#006fff52;--accent:#14b8a6;--accent-light:#14b8a624;--accent-edge:#14b8a64d;--success:#34d27b;--success-light:#34d27b24;--success-edge:#34d27b4d;--warning:#f6c453;--warning-light:#f6c45324;--warning-edge:#f6c4534d;--error:#ff5e6c;--error-light:#ff5e6c24;--error-edge:#ff5e6c52;--info:#3b8dff;--info-light:#3b8dff24;--info-edge:#3b8dff4d;--cat-1:#7c6cff;--cat-2:#e85a9c;--cat-3:#3dccc4;--cat-4:#ffb547;--cat-5:#a3e635;--cat-6:#ff8da1;--cat-7:#34d399;--cat-8:#7a8597;--stage-1:#3b8dff;--stage-2:#7c6cff;--stage-3:#3dccc4;--stage-4:#a3e635;--stage-5:#34d399;--hairline:#161b23;--border:#1c212b;--border-strong:#262c38;--border-hover:#333b49;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-lg:15px;--fs-xl:18px;--fs-2xl:20px;--fs-3xl:24px;--fs-4xl:30px;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-eyebrow:.06em;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:9px;--radius-xl:13px;--radius-2xl:16px;--radius-pill:999px;--sp-4xs:2px;--sp-3xs:4px;--sp-2xs:6px;--sp-xs:8px;--sp-sm:12px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:40px;--sp-panel:20px;--row-h:38px;--thead-h:34px;--cell-x:12px;--cell-y:8px;--group-h:34px;--touch-target-min:44px;--tile-min:180px;--lane-w:300px;--lane-min-h:120px;--lane-max-h:62vh;--ctl-h:34px;--ctl-h-sm:28px;--ctl-px:13px;--ctl-px-sm:10px;--chip-h:28px;--chip-h-lg:34px;--t-fast:.12s cubic-bezier(.4, 0, .2, 1);--t-base:.18s cubic-bezier(.4, 0, .2, 1);--shadow-xs:0 1px 2px 0 #0006;--shadow-sm:0 1px 3px 0 #00000073, 0 1px 2px -1px #0006;--shadow-md:0 4px 12px -2px #00000080, 0 2px 6px -2px #0006;--shadow-lg:0 12px 28px -8px #0000008c, 0 4px 10px -4px #0006;--shadow-xl:0 18px 50px -18px #000000b3, 0 2px 8px #00000080;--scrim:#0000009e}.portal-root[data-density=comfortable],.portal-root [data-density=comfortable]{--row-h:44px;--thead-h:38px;--cell-x:16px;--cell-y:12px;--group-h:40px;--ctl-h:38px;--ctl-h-sm:30px}@media (max-width:767px){.portal-root,.portal-root[data-density=comfortable],.portal-root [data-density=comfortable]{--ctl-h:var(--touch-target-min);--ctl-h-sm:36px}}.portal-root{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-sans)}.portal-shell{grid-template-rows:56px 1fr;grid-template-columns:248px 1fr;height:100dvh;display:grid}.portal-rail{border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;grid-row:1/3;min-height:0;display:flex;overflow:hidden}.portal-topbar{border-bottom:1px solid var(--border);background:rgba(var(--primary-rgb), 0);background-color:var(--bg-panel);align-items:center;gap:var(--sp-md);grid-column:2;grid-template-columns:1fr minmax(0,auto) 1fr;padding:0 24px;display:grid}.portal-topbar-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portal-topbar-search{justify-self:center;align-items:center;width:min(520px,40vw);display:flex}.portal-topbar-search:empty{width:0}.portal-topbar-actions{justify-self:end;align-items:center;gap:var(--sp-sm);display:flex}@media (max-width:880px){.portal-topbar{gap:var(--sp-xs);grid-template-columns:auto minmax(0,1fr) auto;padding:0 14px}.portal-topbar-search{width:100%}}.portal-main{grid-column:2;min-width:0;min-height:0;padding:32px;position:relative;overflow:hidden auto}.portal-workspace{flex-direction:column;height:100%;min-height:0;display:flex}.portal-railtrigger,.portal-rail-scrim{display:none}@media (max-width:880px){.portal-shell{grid-template-rows:56px 1fr;grid-template-columns:1fr}.portal-rail{z-index:70;width:min(300px,86vw);transition:transform var(--t-base);box-shadow:var(--shadow-xl);border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.portal-rail[data-open=true]{transform:translate(0)}.portal-rail:focus{outline:none}.portal-rail-scrim{z-index:69;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--t-base);position:fixed;inset:0}.portal-rail-scrim[data-open=true]{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.portal-rail,.portal-rail-scrim{transition:none}}.portal-railtrigger{width:var(--ctl-h);height:var(--ctl-h);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);color:var(--fg-2);cursor:pointer;flex:none;place-items:center;display:inline-grid}.portal-railtrigger:hover{color:var(--fg);border-color:var(--border-strong)}.portal-topbar{gap:var(--sp-xs);grid-area:1/1;grid-template-columns:auto minmax(0,1fr) auto;padding:0 14px}.portal-topbar-search{width:100%}.portal-topbar-title{display:none}.portal-main{grid-area:2/1;padding:20px}.portal-workspace{height:auto}}.portal-brand{border-bottom:1px solid var(--border);align-items:center;height:56px;padding:0 18px;display:flex}.portal-v{flex-direction:column;min-width:0;display:flex}.portal-v>*{margin-block:0}.portal-h{flex-wrap:wrap;align-items:center;min-width:0;display:flex}.portal-h[data-wrap=nowrap]{flex-wrap:nowrap}.portal-h[data-align=start]{align-items:flex-start}.portal-h[data-align=end]{align-items:flex-end}.portal-h[data-align=baseline]{align-items:baseline}.portal-h[data-justify=start]{justify-content:flex-start}.portal-h[data-justify=center]{justify-content:center}.portal-h[data-justify=end]{justify-content:flex-end}.portal-h[data-justify=between]{justify-content:space-between}.portal-v[data-gap="3xs"],.portal-h[data-gap="3xs"]{gap:var(--sp-3xs)}.portal-v[data-gap="2xs"],.portal-h[data-gap="2xs"]{gap:var(--sp-2xs)}.portal-v[data-gap=xs],.portal-h[data-gap=xs]{gap:var(--sp-xs)}.portal-v[data-gap=sm],.portal-h[data-gap=sm]{gap:var(--sp-sm)}.portal-v[data-gap=md],.portal-h[data-gap=md]{gap:var(--sp-md)}.portal-v[data-gap=lg],.portal-h[data-gap=lg]{gap:var(--sp-lg)}.portal-v[data-gap=xl],.portal-h[data-gap=xl]{gap:var(--sp-xl)}.portal-nav-notice{align-items:center;gap:var(--sp-2xs);margin:var(--sp-2xs) var(--sp-sm) 0;padding:var(--sp-2xs) var(--sp-xs);border-radius:var(--radius-sm);background:var(--warning-light);border:1px solid var(--warning-edge);color:var(--warning);font-size:var(--fs-xs);flex-wrap:wrap;line-height:1.35;display:flex}.portal-nav-notice-text{flex:1;min-width:0}.portal-nav-notice-retry{cursor:pointer;font:inherit;font-weight:var(--fw-semibold);color:inherit;background:0 0;border:none;flex:none;padding:0;text-decoration:underline}.portal-nav-notice-retry:hover{color:var(--fg)}.portal-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);letter-spacing:.02em;white-space:nowrap}.portal-nav-group-label{font-size:var(--fs-xs);color:var(--fg-dim);letter-spacing:.01em;padding:16px 12px 6px;font-weight:600}.portal-nav{flex-direction:column;flex:1;gap:2px;min-height:0;padding:12px 10px;display:flex;overflow-y:auto}.portal-nav-item{border-radius:var(--radius);color:var(--fg-2);font-size:var(--fs-base);align-items:center;gap:10px;padding:8px 10px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.portal-nav-item:hover,.portal-nav-item[data-active=true]{background:var(--bg-hover);color:var(--fg)}.portal-nav-item[data-active=true]:before{content:"";background:var(--primary);width:3px;box-shadow:0 0 10px 0 rgba(var(--primary-rgb), .7);border-radius:0 3px 3px 0;position:absolute;top:7px;bottom:7px;left:0}.portal-nav-item .ico{color:currentColor;opacity:.8;flex:none;width:16px;height:16px}.portal-nav-item[data-active=true] .ico{color:var(--primary-2);opacity:1}.portal-nav-badge{min-width:18px;height:18px;font-size:var(--fs-xs);background:var(--primary);color:var(--color-white);border-radius:9px;justify-content:center;align-items:center;margin-left:auto;padding:0 5px;font-weight:700;line-height:1;display:inline-flex}.portal-nav-group-toggle{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;padding:0;display:flex}.portal-nav-chevron{font-size:var(--fs-xs);color:var(--fg-dim);margin-left:auto;margin-right:12px;transition:transform .12s}.portal-nav-chevron[data-collapsed=true]{transform:rotate(-90deg)}.portal-nav-group[data-collapsed=true] .portal-nav-item{display:none}.portal-org{position:relative}.portal-org-trigger{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--fg);cursor:pointer;text-align:left;font:inherit;align-items:center;gap:10px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.portal-org-trigger:hover{border-color:var(--border-strong)}.portal-org-trigger[data-static]{cursor:default}.portal-org-trigger[data-static]:hover{border-color:var(--border)}.portal-org-trigger .name{font-size:var(--fs-base);font-weight:600;line-height:1.2}.portal-org-trigger .tier{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.portal-org-trigger .chev{color:var(--fg-dim);margin-left:auto}.portal-org-menu{z-index:40;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);max-height:320px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 16px 40px -16px #000000b3}.portal-org-option{border-radius:var(--radius);width:100%;color:var(--fg-2);cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;display:flex}.portal-org-option:hover{background:var(--bg-hover);color:var(--fg)}.portal-org-option[data-current=true]{color:var(--fg)}.portal-org-option[data-current=true] .check{color:var(--primary-2);margin-left:auto}.portal-org-avatar{border-radius:var(--radius-sm);background:var(--bg-hover);border:1px solid var(--border);width:26px;height:26px;font-weight:700;font-size:var(--fs-xs);color:var(--fg-2);flex:none;place-items:center;display:grid}.portal-page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.portal-h1{font-size:var(--fs-3xl);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.1}.portal-sub{color:var(--fg-2);font-size:var(--fs-base);margin-top:6px}.portal-grid{gap:16px;display:grid}.portal-grid.cols-2{grid-template-columns:repeat(2,1fr)}.portal-grid.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width:880px){.portal-grid.cols-2,.portal-grid.cols-3{grid-template-columns:1fr}}.portal-stack{flex-direction:column;gap:16px;display:flex}.portal-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px}.portal-panel--accent{border-color:var(--primary)}.portal-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.portal-panel-heading{min-width:0}.portal-panel-title{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:650}.portal-panel-sub{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.02em;color:var(--fg-dim)}.portal-panel-title+.portal-panel-sub{margin-top:3px}.portal-panel-explain{color:var(--fg-2);font-size:var(--fs-base);max-width:78ch;margin:4px 0 0;line-height:1.5}.portal-panel-sub+.portal-panel-explain{margin-top:5px}.portal-detail{flex-direction:column;gap:5px;display:flex}.portal-detail+.portal-detail{margin-top:2px}.portal-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;display:grid}.portal-detail-grid .portal-detail+.portal-detail{margin-top:0}@media (max-width:720px){.portal-detail-grid{grid-template-columns:1fr}}.portal-detail-value{color:var(--fg);font-size:var(--fs-base);white-space:pre-wrap;word-break:break-word;line-height:1.6}.portal-detail-value--mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-2)}.portal-detail-value--muted{color:var(--fg-2)}.portal-detail-empty{color:var(--fg-dim);font-size:var(--fs-base);font-style:italic}.portal-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.portal-toolbar-search{flex:280px;align-items:center;min-width:200px;display:flex;position:relative}.portal-toolbar-search .ico{color:var(--fg-dim);pointer-events:none;position:absolute;left:12px}.portal-toolbar-search .portal-input{padding-left:34px}.portal-toolbar .portal-select{flex:none;min-width:132px}@media (max-width:880px){.portal-toolbar-search{flex-basis:100%}.portal-toolbar .portal-select{flex:auto}}.portal-tag{white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg-2);align-items:center;padding:3px 8px;display:inline-flex}.portal-tag--plain{text-transform:lowercase;color:var(--fg-dim)}.portal-tag-row{flex-wrap:wrap;gap:6px;display:flex}.portal-pager{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.portal-pager-info{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim)}.portal-pager-controls{align-items:center;gap:10px;display:flex}.portal-pager-page{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2)}.portal-list[data-loading=true]{opacity:.55;pointer-events:none;transition:opacity .12s}.portal-metric{font-family:var(--font-mono);font-size:var(--fs-4xl);letter-spacing:-.02em;color:var(--fg);font-weight:600;line-height:1}.portal-metric-label{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-top:10px}.portal-datagrid thead th{z-index:2;height:var(--thead-h);text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.09em;text-transform:uppercase;color:var(--fg-2);background:var(--bg-raised);border-bottom:1px solid var(--border-strong);line-height:1;position:sticky;top:0}.portal-datagrid tbody td{color:var(--fg);font-size:var(--fs-sm);vertical-align:middle;border-bottom:1px solid var(--hairline);line-height:1.35}.portal-cell-inline{align-items:center;gap:8px;display:inline-flex}.portal-ok.portal-cell-note,.portal-error.portal-cell-note,.portal-warn.portal-cell-note{font-size:var(--fs-sm)}.portal-datagrid-wrap{width:100%;overflow:auto}.portal-datagrid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.portal-datagrid thead th{padding:0 var(--cell-x);border-right:1px solid var(--hairline)}.portal-datagrid thead th:last-child{border-right:none}.portal-datagrid th[data-align=right],.portal-datagrid td[data-align=right]{text-align:right}.portal-datagrid th[data-align=center],.portal-datagrid td[data-align=center]{text-align:center}.portal-datagrid-th{align-items:center;gap:var(--sp-2xs);border-radius:var(--radius-xs);font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:var(--t-fast);background:0 0;border:none;margin:0 -4px;padding:3px 4px;display:inline-flex}.portal-datagrid-th:hover{background:var(--surface-overlay);color:var(--fg-2)}.portal-datagrid th[data-align=right] .portal-datagrid-th{flex-direction:row-reverse}.portal-datagrid-caret{opacity:.45;flex-direction:column;gap:1px;display:inline-flex}.portal-datagrid-caret svg{fill:currentColor;stroke:none;width:7px;height:4px;display:block}.portal-datagrid th[aria-sort]{color:var(--primary-hover)}.portal-datagrid th[aria-sort] .portal-datagrid-caret{opacity:1}.portal-datagrid th[aria-sort=descending] .portal-datagrid-caret svg:first-child,.portal-datagrid th[aria-sort=ascending] .portal-datagrid-caret svg:last-child{opacity:.2}.portal-datagrid tbody td{height:var(--row-h);padding:0 var(--cell-x);border-right:1px solid var(--hairline);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.portal-datagrid tbody td:last-child{border-right:none}:is(.portal-datagrid tbody td:has(.portal-btn),.portal-datagrid tbody td:has(.portal-linkbtn),.portal-datagrid tbody td:has(.portal-iconbtn),.portal-datagrid tbody td:has(.portal-chip)){text-overflow:clip;overflow:visible}.portal-datagrid tbody tr:last-child td{border-bottom:none}.portal-datagrid tbody tr{transition:background var(--t-fast)}.portal-datagrid tbody tr:hover td{background:var(--surface-overlay)}.portal-datagrid tbody tr[data-clickable=true]{cursor:pointer}.portal-datagrid th[data-type],.portal-datagrid td[data-type]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.portal-datagrid-empty{text-align:center;color:var(--fg-dim);padding:48px 16px}.portal-datagrid .portal-datagrid-selcell{text-align:center;width:38px;padding:0 4px}.portal-datagrid tbody tr[data-selected=true] td{background:var(--bg-hover);border-bottom-color:var(--border-strong)}.portal-datagrid tbody tr[data-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.portal-datagrid tbody tr[data-cursor=true] td:first-child{box-shadow:inset 2px 0 0 var(--primary)}.portal-datagrid tbody tr:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-datagrid-cb{vertical-align:middle;place-items:center;width:30px;height:30px;display:inline-grid;position:relative}.portal-datagrid-cb input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.portal-datagrid-cb:before{content:"";border-radius:var(--radius-xs);border:1.5px solid var(--border-hover);background:var(--bg-deep);width:15px;height:15px;transition:var(--t-fast)}.portal-datagrid-cb:hover:before{border-color:var(--primary)}.portal-datagrid-cb svg{pointer-events:none;width:9px;height:9px;stroke:var(--color-white);fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:var(--t-fast);position:absolute}.portal-datagrid-cb[data-state=all]:before,.portal-datagrid-cb[data-state=some]:before{background:var(--primary);border-color:var(--primary)}.portal-datagrid-cb[data-state=all] svg,.portal-datagrid-cb[data-state=some] svg,.portal-datagrid-cb input:focus-visible~svg{opacity:1}.portal-datagrid-cb:has(input:focus-visible):before{outline:2px solid var(--primary);outline-offset:2px}.portal-datagrid-groupbar{align-items:center;gap:var(--sp-sm);padding:0 0 var(--sp-2xs);font-size:var(--fs-xs);color:var(--fg-dim);display:flex}.portal-datagrid-groupbar button{min-height:var(--ctl-h-sm);font:inherit;color:var(--fg-2);cursor:pointer;transition:var(--t-fast);background:0 0;border:none;align-items:center;padding:0 2px;display:inline-flex}.portal-datagrid-groupbar button>span{border-bottom:1px solid var(--border-hover);transition:var(--t-fast)}.portal-datagrid-groupbar button:hover{color:var(--primary-hover)}.portal-datagrid-groupbar button:hover>span{border-bottom-color:var(--primary)}.portal-datagrid-groupcount{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.portal-datagrid tbody tr.portal-datagrid-grouprow td.portal-datagrid-groupcell{height:var(--group-h);padding:0 var(--cell-x);background:var(--bg-raised);border-right:none;border-bottom:1px solid var(--border-strong);text-overflow:clip;overflow:visible}.portal-datagrid-groupinner{align-items:center;gap:var(--sp-sm);min-width:0;height:100%;display:flex}.portal-datagrid-group{align-items:center;gap:var(--sp-2xs);min-width:0;height:100%;font:inherit;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:none;flex:0 auto;padding:0;display:inline-flex}.portal-datagrid-group:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-datagrid-groupcaret{color:var(--fg-dim);transition:transform var(--t-fast);display:inline-flex}.portal-datagrid-groupcaret svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;display:block}.portal-datagrid-group[aria-expanded=true] .portal-datagrid-groupcaret{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.portal-datagrid-groupcaret{transition:none}}.portal-datagrid-grouplabel{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.portal-datagrid-group:hover .portal-datagrid-grouplabel{color:var(--primary-hover)}.portal-datagrid-groupn{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--fg-dim);border:1px solid var(--border);border-radius:var(--radius-xs);padding:0 5px}.portal-datagrid-grouprow[data-ungrouped=true] .portal-datagrid-grouplabel{color:var(--fg-dim);font-weight:var(--fw-medium)}.portal-datagrid-grouplink{min-height:var(--ctl-h-sm);padding:0 var(--sp-2xs);font-size:var(--fs-xs);color:var(--fg-dim);transition:var(--t-fast);flex:none;align-items:center;text-decoration:none;display:inline-flex}.portal-datagrid-grouplink:hover{color:var(--primary-hover);background:var(--surface-overlay);border-radius:var(--radius-xs)}.portal-datagrid-cardgroup+.portal-datagrid-cardgroup{margin-top:var(--sp-sm)}.portal-datagrid-cardgrouphead{align-items:center;gap:var(--sp-2xs);min-height:var(--group-h);padding:0 var(--cell-x);background:var(--bg-raised);border-bottom:1px solid var(--border-strong);border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:flex}.portal-datagrid-cardgrouphead>.portal-datagrid-group{min-height:var(--touch-target-min);flex:1}.portal-datagrid-cardgrouphead>.portal-datagrid-grouplink{min-height:var(--touch-target-min)}.portal-datagrid-cardgroup[data-ungrouped=true] .portal-datagrid-grouplabel{color:var(--fg-dim);font-weight:var(--fw-medium)}.portal-grouping{align-items:center;gap:var(--sp-2xs);height:var(--ctl-h);padding:0 3px 0 var(--ctl-px-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);display:inline-flex}.portal-grouping-label{font-size:var(--fs-xs);color:var(--fg-dim);white-space:nowrap}.portal-viewicon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px;display:block}.portal-viewseg .portal-seg-btn{padding:0 10px}.portal-queue-controls{justify-content:space-between;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;display:flex}.portal-queue-controlsfill{flex:auto}.portal-queue-controlsgroup{align-items:center;gap:var(--sp-2xs);display:inline-flex}.portal-datagrid-keys{align-items:center;gap:var(--sp-md);padding:6px var(--cell-x);border-top:1px solid var(--border);background:var(--bg-deep);flex-wrap:wrap;display:flex}.portal-datagrid-keys span{align-items:center;gap:var(--sp-3xs);font-size:var(--fs-xs);color:var(--fg-dim);display:inline-flex}.portal-datagrid-keys kbd{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.portal-datagrid-bulk{z-index:12;align-items:center;gap:var(--sp-xs);border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--border-hover);width:fit-content;color:var(--fg);box-shadow:var(--shadow-lg);margin:12px auto 0;padding:7px 8px 7px 14px;animation:.24s cubic-bezier(.2,.9,.3,1) portal-datagrid-bulk-in;display:flex;position:sticky;bottom:16px}@keyframes portal-datagrid-bulk-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.portal-datagrid-bulk{animation:none}}.portal-datagrid-bulk-n{font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap}.portal-datagrid-bulk-n em{color:var(--primary-hover);font-style:normal;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.portal-datagrid-bulk-sep{background:var(--border-hover);width:1px;height:18px}.portal-datagrid-resizer{cursor:col-resize;z-index:3;touch-action:none;-webkit-user-select:none;user-select:none;width:8px;height:100%;position:absolute;top:0;right:0}.portal-datagrid-resizer:after{content:"";width:2px;transition:var(--t-fast);background:0 0;position:absolute;top:0;bottom:0;right:0}.portal-datagrid-resizer:hover:after,.portal-datagrid-resizer[data-resizing=true]:after{background:var(--primary)}.portal-datagrid-toolbar{align-items:center;gap:var(--sp-2xs);margin-bottom:var(--sp-sm);flex-wrap:wrap;display:flex}.portal-search.portal-datagrid-search{flex:0 290px;min-width:180px}.portal-datagrid-toolright{align-items:center;gap:var(--sp-2xs);margin-left:auto;display:flex}.portal-datagrid-toolsplit{width:1px;height:18px;margin:0 var(--sp-3xs);background:var(--border-strong);flex:none}.portal-datagrid-chipwrap{display:inline-flex;position:relative}.portal-datagrid-chip{align-items:center;gap:var(--sp-2xs);height:var(--ctl-h);padding:0 var(--ctl-px);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--fg-2);font-size:var(--fs-sm);line-height:1;font-family:var(--font-sans);cursor:pointer;transition:var(--t-fast);white-space:nowrap;display:inline-flex}.portal-datagrid-chip:hover{border-color:var(--border-hover);color:var(--fg)}.portal-datagrid-chip svg{fill:none;stroke:currentColor;stroke-width:2px;opacity:.65;width:12px;height:12px}.portal-datagrid-chip[data-set=true]{border-color:var(--primary-edge);background:var(--primary-light);color:var(--primary-hover)}.portal-datagrid-chip[data-set=true] b{font-weight:var(--fw-semibold);color:var(--fg)}.portal-datagrid-pop{z-index:60;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-direction:column;min-width:200px;padding:5px;display:flex;position:fixed;box-shadow:0 18px 44px -18px #000000bf}.portal-datagrid-poprow{border-radius:var(--radius-sm);color:var(--fg-2);font-size:var(--fs-base);cursor:pointer;white-space:nowrap;align-items:center;gap:10px;padding:7px 10px;display:flex}.portal-datagrid-poprow:hover{background:var(--bg-hover);color:var(--fg)}button.portal-datagrid-poprow{font:inherit;font-size:var(--fs-base);text-align:left;background:0 0;border:none;width:100%}.portal-datagrid-poprow[data-textrow=""]{cursor:default;padding:4px}.portal-datagrid-poprow[data-textrow=""]:hover{background:0 0}.portal-datagrid-poprow[data-textrow=""] .portal-input{min-width:200px}.portal-datagrid-poprow input{accent-color:var(--primary);cursor:pointer;margin:0}.portal-datagrid-poprow[data-colrow=""]{gap:4px;padding:2px 4px 2px 10px}.portal-datagrid-poprow-main{cursor:pointer;flex:1;align-items:center;gap:10px;padding:5px 0;display:flex}.portal-datagrid-popmove{border-radius:var(--radius-xs);width:24px;height:24px;color:var(--fg-dim);cursor:pointer;transition:var(--t-fast);background:0 0;border:none;place-items:center;display:inline-grid}.portal-datagrid-popmove:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.portal-datagrid-popmove:disabled{opacity:.3;cursor:default}.portal-datagrid-popmove svg{fill:none;stroke:currentColor;stroke-width:2px;width:12px;height:12px}.portal-datagrid-popaction{border:none;border-top:1px solid var(--hairline);color:var(--primary-hover);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;margin:4px 2px 2px;padding:6px 10px}.portal-datagrid-popaction:hover{color:var(--fg)}.portal-datagrid-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 var(--sp-3xs)}.portal-datagrid-count b{color:var(--fg);font-weight:var(--fw-semibold)}.portal-datagrid-foot{align-items:center;gap:var(--sp-sm);padding:7px var(--cell-x);border-top:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;display:flex}.portal-datagrid-perpage{align-items:center;gap:var(--sp-2xs);font-size:var(--fs-xs);color:var(--fg-dim);display:inline-flex}.portal-datagrid-perpage .portal-select{height:var(--ctl-h-sm);font-size:var(--fs-xs);padding:0 26px 0 7px}.portal-datagrid-pager{align-items:center;gap:2px;margin:0 auto;display:flex}.portal-datagrid-pg{min-width:var(--ctl-h-sm);height:var(--ctl-h-sm);border-radius:var(--radius-xs);color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;cursor:pointer;transition:var(--t-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 7px;display:inline-flex}.portal-datagrid-pg:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.portal-datagrid-pg:disabled{opacity:.4;cursor:default}.portal-datagrid-pg[data-on=true]{background:var(--primary-light);color:var(--primary-hover);border-color:var(--primary-edge)}.portal-datagrid-wrap[data-virtual=true]{max-height:65vh;overflow:auto}.portal-datagrid-editcell{width:100%;height:100%;text-align:inherit;cursor:text;font:inherit;color:inherit;border-radius:var(--radius-xs);background:0 0;border:none;padding:0;display:block}.portal-datagrid-editcell:hover{background:var(--surface-overlay);box-shadow:inset 0 0 0 1px var(--border-strong)}.portal-datagrid-editcell[data-empty=true]{color:var(--fg-dim)}.portal-datagrid-editinput{border:1px solid var(--primary);border-radius:var(--radius-xs);background:var(--bg-deep);width:100%;color:var(--fg);font:inherit;text-align:inherit;outline:none;margin:0 -4px;padding:2px 4px;display:block}.portal-datagrid-editinput[aria-busy=true]{opacity:.6}.portal-datagrid td[data-align=right] .portal-datagrid-editinput{text-align:right}.portal-gridviews{border-bottom:1px solid var(--border);margin-bottom:var(--sp-sm);flex-wrap:wrap;align-items:center;gap:0;display:flex}.portal-gridviews-tab{align-items:center;gap:var(--sp-2xs);color:var(--fg-dim);font-family:var(--font-sans);font-size:var(--fs-sm);cursor:pointer;transition:var(--t-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 12px 10px;display:inline-flex}.portal-gridviews-tab:hover{color:var(--fg)}.portal-gridviews-tab[data-on=true]{color:var(--fg);font-weight:var(--fw-semibold);border-bottom-color:var(--primary)}.portal-gridviews-tab[data-add=""]{color:var(--fg-dim)}.portal-gridviews-tab[data-add=""]:hover{color:var(--fg-2)}.portal-gridviews-default{color:var(--primary-hover);font-size:var(--fs-xs);line-height:1}.portal-gridviews-savewrap{margin-left:auto;display:inline-flex;position:relative}.portal-gridviews-pop{min-width:280px;padding:12px;left:auto;right:0}.portal-datagrid-cardsroot{gap:var(--sp-sm);flex-direction:column;display:flex}.portal-datagrid-cardcontrols{align-items:center;gap:var(--sp-2xs);display:flex}.portal-datagrid-cardsort{align-items:center;gap:var(--sp-2xs);flex:none;display:inline-flex}.portal-datagrid-cardsort .portal-select{height:var(--ctl-h);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background-color:var(--bg-raised);color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-sm)}.portal-datagrid-cardsort>button{width:var(--ctl-h);height:var(--ctl-h);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--fg-2);font-size:var(--fs-base);cursor:pointer;place-items:center;display:inline-grid}.portal-datagrid-cardsort>button:disabled{opacity:.4;cursor:default}.portal-datagrid-cardlist{flex-direction:column;display:flex}.portal-datagrid-cardmore{justify-content:space-between;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--cell-x);border-top:1px solid var(--hairline);display:flex}.portal-datagrid-cardmore button{height:var(--ctl-h);padding:0 var(--ctl-px);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--fg);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer}.portal-datagrid-cardmore button:hover{background:var(--bg-hover)}.portal-datagrid-cardmore span{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim)}.portal-datagrid-card{align-items:center;gap:var(--sp-sm);width:100%;min-height:var(--touch-target-min);padding:10px var(--cell-x);border:none;border-bottom:1px solid var(--hairline);background:var(--bg-panel);color:var(--fg);font:inherit;text-align:left;cursor:pointer;display:flex}.portal-datagrid-cardlist>[role=listitem]:last-child .portal-datagrid-card{border-bottom:none}.portal-datagrid-card:active{background:var(--bg-hover)}.portal-datagrid-cardleading{flex:none;display:inline-flex}.portal-datagrid-cardbody{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.portal-datagrid-cardline{align-items:center;gap:var(--sp-xs);min-width:0;display:flex}.portal-datagrid-cardtitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--fg);flex:1;overflow:hidden}.portal-datagrid-cardstatus{gap:var(--sp-3xs);flex:none;display:inline-flex}.portal-datagrid-cardfacts{align-items:center;gap:var(--sp-3xs) var(--sp-2xs);min-width:0;font-size:var(--fs-sm);color:var(--fg-dim);flex-wrap:wrap;flex:100%;display:flex}.portal-datagrid-cardline[data-facts]{row-gap:var(--sp-3xs);flex-wrap:wrap}.portal-datagrid-cardfact{align-items:center;gap:var(--sp-2xs);min-width:0;display:inline-flex}.portal-datagrid-cardsep{color:var(--fg-dim)}.portal-datagrid-cardmetric{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);color:var(--fg-2);flex:none}.portal-datagrid-cardmeta{align-items:baseline;gap:var(--sp-2xs);min-width:0;font-size:var(--fs-sm);color:var(--fg-2);grid-template-columns:minmax(0,1fr) auto auto auto;display:grid}.portal-datagrid-cardmetaitem{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portal-datagrid-cardmetaitem[data-slot="0"]{grid-column:1}.portal-datagrid-cardmetaitem[data-slot="1"]{grid-column:2;justify-self:end}.portal-datagrid-cardmetaitem[data-slot="2"]{grid-column:3;justify-self:end}.portal-datagrid-cardmetaitem[data-slot="3"]{grid-column:4;justify-self:end}.portal-cardfor{color:var(--fg-2)}.portal-cardfor[data-internal=true]{color:var(--fg-dim);font-style:italic}.portal-carddue{font-variant-numeric:tabular-nums;color:var(--fg-2);flex:none}.portal-carddue[data-late=yes]{color:var(--warning);font-weight:var(--fw-medium)}.portal-carddue[data-late=owed]{color:var(--error);font-weight:var(--fw-semibold)}.portal-queuekind{--chip:var(--fg-nontext);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--chip) 16%, transparent);border:1px solid color-mix(in srgb, var(--chip) 40%, transparent);width:22px;height:22px;color:var(--chip);flex:none;place-items:center;margin-top:1px;display:inline-grid}.portal-queuekind svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px;display:block}.portal-queuekind[data-cat="1"]{--chip:var(--cat-1)}.portal-queuekind[data-cat="2"]{--chip:var(--cat-2)}.portal-queuekind[data-cat="3"]{--chip:var(--cat-3)}.portal-queuekind[data-cat="4"]{--chip:var(--cat-4)}.portal-queuekind[data-cat="5"]{--chip:var(--cat-5)}.portal-queuekind[data-cat="6"]{--chip:var(--cat-6)}.portal-queuekind[data-cat="7"]{--chip:var(--cat-7)}.portal-queuekind[data-cat="8"]{--chip:var(--cat-8)}.portal-cell-id{align-items:center;gap:12px;min-width:0;display:flex}.portal-cell-id .id-text{min-width:0}.portal-cell-id .id-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-weight:550;overflow:hidden}.portal-cell-pills{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.portal-cell-mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-2);white-space:nowrap}.portal-cell-dim{color:var(--fg-dim)}.portal-avatar{vertical-align:middle;background:var(--bg-hover);border:1px solid var(--border);width:32px;height:32px;color:var(--fg-2);font-weight:650;font-size:var(--fs-sm);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;display:inline-grid}.portal-avatar[data-accent=true]{background:var(--primary-soft);border-color:rgba(var(--primary-rgb), .32);color:var(--primary-2)}.portal-rowacts{justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.portal-iconbtn{width:var(--ctl-h-sm);height:var(--ctl-h-sm);border-radius:var(--radius);color:var(--fg-dim);cursor:pointer;font-size:var(--fs-lg);background:0 0;border:1px solid #0000;place-items:center;padding:0;line-height:1;text-decoration:none;display:grid}.portal-iconbtn:hover{background:var(--bg-hover);color:var(--fg);border-color:var(--border)}.portal-iconbtn:disabled{opacity:.4;cursor:not-allowed}.portal-menu{z-index:60;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-direction:column;min-width:184px;padding:5px;display:flex;position:fixed;box-shadow:0 18px 44px -18px #000000bf}.portal-menu-item{text-align:left;white-space:nowrap;border-radius:var(--radius);color:var(--fg-2);font:inherit;font-size:var(--fs-base);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.portal-menu-item:hover{background:var(--bg-hover);color:var(--fg)}.portal-menu-item[data-tone=danger]{color:var(--error)}.portal-menu-item[data-tone=danger]:hover{background:var(--error-soft)}.portal-menu-sep{background:var(--hairline);height:1px;margin:4px 2px}.portal-check{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0;display:block}.portal-form{grid-template-columns:1fr 1fr;gap:14px 18px;display:grid}.portal-form .col-2{grid-column:1/-1}.portal-form-section{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);border-bottom:1px solid var(--hairline);grid-column:1/-1;margin-top:6px;padding-bottom:7px}.portal-form .portal-field{margin:0}@media (max-width:640px){.portal-form{grid-template-columns:1fr}}.portal-chips{flex-wrap:wrap;gap:7px;display:flex}.portal-chiptoggle{cursor:pointer;font:inherit;font-size:var(--fs-sm);height:var(--ctl-h-sm);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg-2);border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.portal-chiptoggle:hover{border-color:var(--border-strong);color:var(--fg)}.portal-chiptoggle:disabled{opacity:.5;cursor:not-allowed}.portal-chiptoggle[data-on=true]{border-color:rgba(var(--primary-rgb), .5);background:var(--primary-soft);color:var(--primary-2)}.portal-chiptoggle .tick{font-size:var(--fs-xs);opacity:.9}.portal-more{border-top:1px solid var(--hairline);grid-column:1/-1;padding-top:12px}.portal-more>summary{cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);align-items:center;gap:8px;list-style:none;display:flex}.portal-more>summary::-webkit-details-marker{display:none}.portal-more>summary:after{content:"▾";margin-left:auto}.portal-more[open]>summary:after{content:"▴"}.portal-more .portal-form{margin-top:14px}.portal-recordkind{align-items:center;gap:10px;margin-bottom:4px;display:flex}.portal-recordkind .portal-label{margin:0}.portal-list{flex-direction:column;display:flex}.portal-row{border-top:1px solid var(--hairline);color:inherit;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 4px;text-decoration:none;display:flex}.portal-row:first-child{border-top:none}.portal-row:hover .portal-row-name{color:var(--primary-2)}.portal-row>:first-child{min-width:0}.portal-row-name{font-size:var(--fs-lg);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-weight:600;transition:color .12s;overflow:hidden}.portal-row-meta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);letter-spacing:.02em;margin-top:3px}.portal-row-spacer,.portal-grow{flex:1;min-width:0}.portal-row--button{cursor:pointer;width:100%;font:inherit;text-align:left;background:0 0}.portal-row--button:hover{background:var(--bg-hover)}.portal-row--button:hover .portal-row-name{color:var(--primary-2)}.portal-thumb{border-radius:var(--radius);object-fit:cover;border:1px solid var(--border);background:var(--bg-raised);flex-shrink:0;width:40px;height:40px}.portal-thumb--empty{color:var(--fg-dim);font-size:var(--fs-base);place-items:center;display:grid}.portal-quote-readonly{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--hairline);color:var(--fg-2);font-size:var(--fs-base);white-space:pre-wrap;margin:0;padding:12px 14px;line-height:1.55}.portal-kanban{gap:var(--sp-2xs);flex-direction:column;min-width:0;display:flex}.portal-kanban-explain{font-size:var(--fs-sm);color:var(--fg-2);margin:0}.portal-kanban-off{font-size:var(--fs-xs);color:var(--fg-dim);margin:0}.portal-kanban-strip{align-items:stretch;gap:var(--sp-xs);overscroll-behavior-x:contain;padding-bottom:var(--sp-3xs);display:flex;overflow-x:auto}.portal-kanban-strip:focus-visible,.portal-kanban-lanebody:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-kanban-lane{--lane:var(--fg-nontext);flex:1 0 var(--lane-w);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);min-width:0;max-width:100%;transition:border-color var(--t-fast), background var(--t-fast);flex-direction:column;display:flex}.portal-kanban-lane[data-over=true]{border-color:color-mix(in srgb, var(--lane) 60%, transparent);background:color-mix(in srgb, var(--lane) 8%, var(--bg-secondary))}.portal-kanban-lane[data-tone=neutral]{--lane:var(--fg-nontext)}.portal-kanban-lane[data-tone=live]{--lane:var(--primary)}.portal-kanban-lane[data-tone=done]{--lane:var(--success)}.portal-kanban-lane[data-tone=warn]{--lane:var(--warning)}.portal-kanban-lane[data-tone=alert]{--lane:var(--error)}.portal-kanban-lane[data-cat="1"]{--lane:var(--cat-1)}.portal-kanban-lane[data-cat="2"]{--lane:var(--cat-2)}.portal-kanban-lane[data-cat="3"]{--lane:var(--cat-3)}.portal-kanban-lane[data-cat="4"]{--lane:var(--cat-4)}.portal-kanban-lane[data-cat="5"]{--lane:var(--cat-5)}.portal-kanban-lane[data-cat="6"]{--lane:var(--cat-6)}.portal-kanban-lane[data-cat="7"]{--lane:var(--cat-7)}.portal-kanban-lane[data-cat="8"]{--lane:var(--cat-8)}.portal-kanban-lanehead{align-items:baseline;gap:var(--sp-2xs);min-height:var(--group-h);padding:0 var(--sp-sm);border-bottom:1px solid color-mix(in srgb, var(--lane) 22%, var(--border));border-top:2px solid var(--lane);border-radius:var(--radius-md) var(--radius-md) 0 0;background:color-mix(in srgb, var(--lane) 8%, var(--bg-raised));display:flex}.portal-kanban-lanelabel{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg);cursor:default;flex:1;overflow:hidden}.portal-kanban-lanen{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:color-mix(in srgb, var(--lane) 55%, var(--fg-2));flex:none}.portal-kanban-lanebody{gap:var(--sp-2xs);padding:var(--sp-2xs);min-height:var(--lane-min-h);max-height:var(--lane-max-h);overscroll-behavior-y:contain;scroll-snap-type:y proximity;scroll-padding:var(--sp-2xs);flex-direction:column;flex:1;display:flex;overflow-y:auto}.portal-kanban-lane{position:relative}.portal-kanban-lane:after,.portal-kanban-lane:before{content:"";pointer-events:none;opacity:0;height:34px;transition:opacity var(--t-fast);z-index:1;position:absolute;left:1px;right:1px}.portal-kanban-lane:after{border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(to bottom, transparent, var(--bg-secondary) 78%);bottom:1px}.portal-kanban-lane:before{top:var(--group-h);background:linear-gradient(to top, transparent, var(--bg-secondary) 85%);height:20px}.portal-kanban-lane[data-more-bottom=true]:after,.portal-kanban-lane[data-more-top=true]:before{opacity:1}@media (prefers-reduced-motion:reduce){.portal-kanban-lane:after,.portal-kanban-lane:before{transition:none}}.portal-kanban-laneempty{padding:var(--sp-xs) var(--sp-2xs);gap:var(--sp-3xs);flex-direction:column;margin:0;display:flex}.portal-kanban-laneemptyhead{font-size:var(--fs-sm);color:var(--fg-2)}.portal-kanban-laneempthint{font-size:var(--fs-xs);color:var(--fg-dim);line-height:1.45}.portal-kanban-cardwrap{gap:var(--sp-4xs);scroll-snap-align:start;flex-direction:column;display:flex}.portal-kanban-card{--urgency:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--fg);transition:border-color var(--t-fast), box-shadow var(--t-fast), opacity var(--t-fast);flex-direction:column;display:flex;position:relative;overflow:hidden}.portal-kanban-card:before{content:"";background:var(--urgency);width:3px;position:absolute;inset:0 auto 0 0}.portal-kanban-card[data-urgency=owed-late]{--urgency:var(--error)}.portal-kanban-card[data-urgency=late]{--urgency:var(--warning)}.portal-kanban-card[data-urgency=soon]{--urgency:color-mix(in srgb, var(--warning) 45%, transparent)}.portal-kanban-card[data-urgency=owed-late]{border-color:color-mix(in srgb, var(--error) 35%, var(--border))}.portal-kanban-card:hover{border-color:var(--border-hover)}.portal-kanban-card[data-dragging=true]{opacity:.4}.portal-kanban-cardopen{align-items:flex-start;gap:var(--sp-2xs);width:100%;min-height:var(--touch-target-min);padding:var(--sp-2xs) var(--sp-xs) var(--sp-2xs) calc(var(--sp-xs) + 3px);border-radius:var(--radius-sm);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.portal-kanban-card:has(.portal-kanban-cardaction) .portal-kanban-cardopen{padding-right:calc(var(--ctl-h-sm) + var(--sp-2xs))}.portal-kanban-cardopen:hover{background:var(--surface-overlay)}.portal-kanban-cardopen:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}button.portal-kanban-card{align-items:flex-start;gap:var(--sp-2xs);padding:var(--sp-2xs) var(--sp-xs) var(--sp-2xs) calc(var(--sp-xs) + 3px);min-height:var(--touch-target-min);text-align:left;font:inherit;cursor:pointer;flex-direction:row}button.portal-kanban-card:hover{background:var(--bg-hover);border-color:var(--border-hover)}button.portal-kanban-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.portal-kanban-cardaction{top:var(--sp-3xs);right:var(--sp-3xs);z-index:1;align-items:center;display:flex;position:absolute}.portal-kanban-card .portal-datagrid-cardtitle{white-space:normal;overflow-wrap:anywhere;font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:1.4;overflow:visible}.portal-kanban-card .portal-datagrid-cardline{align-items:flex-start;row-gap:var(--sp-3xs);flex-wrap:wrap}.portal-kanban-card .portal-datagrid-cardbody{gap:var(--sp-2xs)}.portal-kanban-card .portal-datagrid-cardsep{display:none}.portal-kanban-card .portal-datagrid-cardfacts{gap:var(--sp-3xs) var(--sp-2xs)}.portal-kanban-card .portal-datagrid-card{background:0 0;border:none}.portal-kanban-swimlane{gap:var(--sp-2xs);flex-direction:column;display:flex}.portal-kanban-swimlane+.portal-kanban-swimlane{margin-top:var(--sp-sm)}.portal-kanban-swimhead{align-items:center;gap:var(--sp-2xs);min-height:var(--group-h);padding:0 var(--sp-sm);background:var(--bg-raised);border-bottom:1px solid var(--border-strong);border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:flex}.portal-kanban-swimhead>.portal-datagrid-group{flex:0 auto;min-width:0}.portal-kanban-swimhead>.portal-datagrid-grouplink{margin-left:auto}.portal-kanban-swimlane[data-ungrouped=true] .portal-datagrid-grouplabel{color:var(--fg-dim);font-weight:var(--fw-medium)}.portal-chip{--chip:var(--fg-nontext);height:var(--chip-h);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;color:var(--fg);background:color-mix(in srgb, var(--chip) 16%, transparent);border:1px solid color-mix(in srgb, var(--chip) 40%, transparent);justify-content:center;align-items:center;padding:0 11px;line-height:1;display:inline-flex}.portal-chip[data-emphasis=loud]{background:color-mix(in srgb, var(--chip) 34%, transparent);border-color:var(--chip);font-weight:var(--fw-semibold);animation:2.6s cubic-bezier(.4,0,.6,1) infinite portal-chip-pulse}@keyframes portal-chip-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--chip) 50%, transparent)}70%{box-shadow:0 0 0 5px color-mix(in srgb, var(--chip) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.portal-chip[data-emphasis=loud]{animation:none}}.portal-chip--afterhead{margin-left:var(--sp-2xs)}.portal-chip[data-size=md]{height:var(--chip-h-lg);padding:0 var(--ctl-px)}.portal-chip[data-tone=neutral]{--chip:var(--fg-nontext)}.portal-chip[data-tone=live]{--chip:var(--primary)}.portal-chip[data-tone=done]{--chip:var(--success)}.portal-chip[data-tone=warn]{--chip:var(--warning)}.portal-chip[data-tone=alert]{--chip:var(--error)}.portal-chip[data-ramp="1"]{--chip:var(--stage-1)}.portal-chip[data-ramp="2"]{--chip:var(--stage-2)}.portal-chip[data-ramp="3"]{--chip:var(--stage-3)}.portal-chip[data-ramp="4"]{--chip:var(--stage-4)}.portal-chip[data-ramp="5"]{--chip:var(--stage-5)}.portal-chip-popdot[data-ramp="1"]{--chip:var(--stage-1)}.portal-chip-popdot[data-ramp="2"]{--chip:var(--stage-2)}.portal-chip-popdot[data-ramp="3"]{--chip:var(--stage-3)}.portal-chip-popdot[data-ramp="4"]{--chip:var(--stage-4)}.portal-chip-popdot[data-ramp="5"]{--chip:var(--stage-5)}.portal-chip[data-cat="1"]{--chip:var(--cat-1)}.portal-chip[data-cat="2"]{--chip:var(--cat-2)}.portal-chip[data-cat="3"]{--chip:var(--cat-3)}.portal-chip[data-cat="4"]{--chip:var(--cat-4)}.portal-chip[data-cat="5"]{--chip:var(--cat-5)}.portal-chip[data-cat="6"]{--chip:var(--cat-6)}.portal-chip[data-cat="7"]{--chip:var(--cat-7)}.portal-chip[data-cat="8"]{--chip:var(--cat-8)}.portal-chip--pick{cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--t-fast), border-color var(--t-fast)}.portal-chip--pick:hover:not(:disabled){background:color-mix(in srgb, var(--chip) 26%, transparent);border-color:color-mix(in srgb, var(--chip) 60%, transparent)}.portal-chip--pick[data-open=true]{background:color-mix(in srgb, var(--chip) 30%, transparent);border-color:var(--chip)}.portal-chip--pick:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.portal-chip--pick:disabled{cursor:default;opacity:.75}@media (max-width:767px){button.portal-chip--pick{position:relative}button.portal-chip--pick:after{content:"";width:max(100%, var(--touch-target-min));height:var(--touch-target-min);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.portal-chip-pop{min-width:208px}.portal-chip-poprow{align-items:flex-start;gap:var(--sp-xs);border-radius:var(--radius-sm);width:100%;color:var(--fg);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;display:flex}.portal-chip-poprow:hover{background:var(--bg-hover)}.portal-chip-poprow:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-chip-poprow[data-current=true]{background:var(--bg-raised);font-weight:var(--fw-semibold)}.portal-chip-popdot{--chip:var(--fg-nontext);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--chip) 60%, transparent);border:1px solid var(--chip);flex:none;width:9px;height:9px;margin-top:4px}.portal-chip-popdot[data-tone=live]{--chip:var(--primary)}.portal-chip-popdot[data-tone=done]{--chip:var(--success)}.portal-chip-popdot[data-tone=warn]{--chip:var(--warning)}.portal-chip-popdot[data-tone=alert]{--chip:var(--error)}.portal-chip-popdot[data-cat="1"]{--chip:var(--cat-1)}.portal-chip-popdot[data-cat="2"]{--chip:var(--cat-2)}.portal-chip-popdot[data-cat="3"]{--chip:var(--cat-3)}.portal-chip-popdot[data-cat="4"]{--chip:var(--cat-4)}.portal-chip-popdot[data-cat="5"]{--chip:var(--cat-5)}.portal-chip-popdot[data-cat="6"]{--chip:var(--cat-6)}.portal-chip-popdot[data-cat="7"]{--chip:var(--cat-7)}.portal-chip-popdot[data-cat="8"]{--chip:var(--cat-8)}.portal-chip-poptick{width:9px;height:9px;color:var(--primary);flex:none;place-items:center;margin-top:4px;display:grid}.portal-chip-poptick svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px;display:block}.portal-chip-poplabel{flex-direction:column;gap:2px;min-width:0;display:flex}.portal-chip-pophint{font-size:var(--fs-xs);color:var(--fg-2);white-space:normal;line-height:1.4}.portal-pickicon{width:var(--ctl-h-sm);height:var(--ctl-h-sm);border-radius:var(--radius-sm);color:var(--fg-dim);cursor:pointer;transition:color var(--t-fast), background var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;display:inline-grid}.portal-pickicon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;display:block}.portal-pickicon:hover:not(:disabled){color:var(--fg);background:var(--bg-hover);border-color:var(--border)}.portal-pickicon[data-open=true]{color:var(--fg);background:var(--bg-hover);border-color:var(--border-strong)}.portal-pickicon:focus-visible{outline:2px solid var(--primary);outline-offset:-1px}.portal-pickicon:disabled{cursor:default;opacity:.5}@media (hover:hover){.portal-kanban-card .portal-pickicon{opacity:.45}.portal-kanban-card:hover .portal-pickicon,.portal-kanban-card:focus-within .portal-pickicon,.portal-kanban-card .portal-pickicon[data-open=true]{opacity:1}}.portal-btn{height:var(--ctl-h);border-radius:var(--radius-md);font:inherit;font-size:var(--fs-base);cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--fg);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,transform 80ms;display:inline-flex}.portal-btn:hover{background:var(--bg-hover)}.portal-btn:active{transform:translateY(1px)}.portal-btn--primary{background:var(--primary-active);border-color:var(--primary-active);color:var(--color-white)}.portal-btn--primary:hover{background:var(--primary);border-color:var(--primary)}.portal-btn:disabled{opacity:.55;cursor:not-allowed}.portal-btn--sm{height:var(--ctl-h-sm);font-size:var(--fs-sm);padding:0 12px}.portal-linkbtn{font:inherit;font-size:var(--fs-sm);color:var(--primary-hover);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:none}.portal-linkbtn:hover{color:var(--primary-2);text-decoration:underline}.portal-link{color:var(--primary-hover);font-weight:600;text-decoration:none}.portal-link:hover{color:var(--primary-2);text-decoration:underline}.portal-field,.portal-ctlstack{flex-direction:column;gap:7px;display:flex}.portal-checkrow{cursor:pointer;align-items:center;gap:8px;display:flex}fieldset.portal-field{border:0;min-width:0;margin:0;padding:0}.portal-label{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim)}legend.portal-label{padding:0}.portal-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-callout{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--bg-raised);border-radius:var(--radius-md);font-size:var(--fs-base);color:var(--fg-2);padding:12px 14px;line-height:1.5}.portal-callout strong{color:var(--fg);font-weight:600}.portal-callout[data-tone=success]{border-left-color:var(--success)}.portal-callout[data-tone=warn]{border-left-color:var(--warning)}.portal-callout[data-tone=alert]{border-left-color:var(--error)}.portal-hint{text-transform:none;letter-spacing:0;color:var(--fg-dim)}.portal-input{width:100%;height:var(--ctl-h);padding:0 var(--ctl-px);border-radius:var(--radius-md);background:var(--bg-deep);border:1px solid var(--border);color:var(--fg);font:inherit;font-size:var(--fs-base);transition:border-color .12s,box-shadow .12s}textarea.portal-input{height:auto;padding:9px var(--ctl-px)}.portal-input::placeholder{color:var(--fg-dim)}.portal-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.portal-empty{text-align:center;color:var(--fg-dim);padding:48px 24px}.portal-empty-label{font-size:var(--fs-base);color:var(--fg-2);margin-bottom:8px;font-weight:600}.portal-empty-action{justify-content:center;gap:10px;margin-top:16px;display:flex}.portal-auth{min-height:100dvh;padding:var(--sp-lg);place-items:center;display:grid;position:relative}.portal-auth-card{z-index:1;width:100%;max-width:420px;position:relative}.portal-notice-brand{margin-bottom:28px}.portal-notice-eyebrow{margin:0 0 var(--sp-2xs)}.portal-notice-title{margin:0 0 var(--sp-sm)}.portal-notice-body{color:var(--fg-2);font-size:var(--fs-base);line-height:1.55}.portal-notice-body p{margin:0 0 var(--sp-sm)}.portal-notice-body p:last-child{margin-bottom:0}.portal-notice-action{margin-top:var(--sp-lg)}.portal-notice[data-tone=alert] .portal-notice-title{color:var(--error)}.portal-auth .sct-tech-grid{z-index:0}.portal-divider{background:var(--border);height:1px;margin:20px 0}.portal-note{color:var(--fg-dim);font-size:var(--fs-sm);line-height:1.6}.portal-error{color:var(--error);font-size:var(--fs-base)}.portal-ok{color:var(--success);font-size:var(--fs-base)}.portal-warn{color:var(--warning);font-size:var(--fs-base)}.portal-page-head-action{flex:none;align-items:center;gap:10px;display:flex}.portal-thread{flex-direction:column;gap:18px;padding:4px 0 8px;display:flex}.portal-msg{flex-direction:column;gap:6px;max-width:76%;display:flex}.portal-msg[data-from=client]{align-self:flex-end;align-items:flex-end}.portal-msg[data-from=system]{align-self:center;align-items:center;max-width:100%}.portal-msg-meta{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);align-items:center;gap:10px;display:flex}.portal-msg-who{color:var(--fg-2)}.portal-msg-time{color:var(--fg-dim)}.portal-msg-body{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--fs-base);color:var(--fg);white-space:pre-wrap;word-break:break-word;padding:11px 14px;line-height:1.55}.portal-msg[data-from=client] .portal-msg-body{background:var(--primary-soft);border-color:rgba(var(--primary-rgb), .28)}.portal-msg[data-from=system] .portal-msg-body{color:var(--fg-2);font-size:var(--fs-base);background:0 0;border-style:dashed}.portal-inline-action{align-items:center;gap:10px;display:inline-flex}.portal-inline-action .portal-btn{height:var(--ctl-h-sm);font-size:var(--fs-sm);padding:0 12px}.portal-inline-action--wrap{flex-wrap:wrap}.portal-inline-action-error{width:100%;margin-top:4px}.portal-select{height:var(--ctl-h);padding:0 36px 0 var(--ctl-px);border-radius:var(--radius-md);background:var(--bg-deep);border:1px solid var(--border);color:var(--fg);font:inherit;font-size:var(--fs-base);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;line-height:1.2;transition:border-color .12s,box-shadow .12s}.portal-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.portal-select:disabled{opacity:.55;cursor:not-allowed}.portal-flash{align-items:center;gap:var(--sp-xs);margin-bottom:var(--sp-sm);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-raised);color:var(--fg-2);font-size:var(--fs-sm);padding:8px 12px;display:flex}.portal-flash-msg{flex:1;min-width:0}.portal-flash-x{color:var(--fg-dim);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--radius-xs);background:0 0;border:none;flex:none;padding:2px 5px;line-height:1}.portal-flash-x:hover{color:var(--fg);background:var(--bg-hover)}.portal-flash-x:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-datagrid-chipwrap.portal-listbox-wrap{max-width:100%;display:flex}.portal-listbox{text-align:left;align-items:center;display:inline-flex}.portal-listbox-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portal-listbox[data-placeholder=true] .portal-listbox-value{color:var(--fg-dim)}.portal-listbox-pop{min-width:200px;max-height:320px;overflow-y:auto}.portal-listbox-list{flex-direction:column;gap:1px;display:flex}.portal-listbox-group{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--fg-2);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 3px}.portal-listbox-opt{align-items:center;gap:var(--sp-xs);border-radius:var(--radius-sm);width:100%;color:var(--fg);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;display:flex}.portal-listbox-opt:hover:not(:disabled){background:var(--bg-hover)}.portal-listbox-opt:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-listbox-opt[data-current=true]{background:var(--bg-raised);font-weight:var(--fw-semibold)}.portal-listbox-opt:disabled{opacity:.5;cursor:default}.portal-listbox-optlabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portal-input--full{width:100%}.portal-ctl-sm{width:140px}.portal-ctl-md{width:220px}.portal-ctl-date{width:170px}.portal-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.portal-search{flex:1;min-width:200px;position:relative}.portal-search .portal-search-ico{color:var(--fg-dim);pointer-events:none;flex:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.portal-search .portal-input{padding-left:36px;padding-right:36px}.portal-search-clear{width:22px;height:22px;color:var(--fg-dim);cursor:pointer;border-radius:var(--radius-sm);font-size:var(--fs-lg);background:0 0;border:none;place-items:center;line-height:1;transition:background .12s,color .12s;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.portal-search-clear:hover{background:var(--bg-hover);color:var(--fg)}.portal-input[type=date],.portal-input[type=datetime-local],.portal-input[type=time]{width:170px}.portal-team-invite{align-items:center;gap:10px;display:flex}.portal-team-invite .portal-input{flex:1}.portal-rail-foot{border-top:1px solid var(--border);padding:12px 16px}.portal-rail-foot .label{font-size:var(--fs-xs);color:var(--fg-dim);margin-bottom:4px;font-weight:600}.portal-rail-foot .val{font-size:var(--fs-sm);color:var(--fg-2);word-break:break-all}.portal-account{border-top:1px solid var(--border);flex:none;position:relative}.portal-account-trigger{cursor:pointer;text-align:left;width:100%;color:inherit;transition:background var(--t-fast);background:0 0;border:none;align-items:center;gap:8px;padding:12px 16px;display:flex}.portal-account-trigger:hover,.portal-account-trigger[aria-expanded=true]{background:var(--bg-hover)}.portal-account-id{flex-direction:column;flex:1;min-width:0;display:flex}.portal-account-id .label{font-size:var(--fs-xs);color:var(--fg-dim);margin-bottom:4px;font-weight:600}.portal-account-id .val{font-size:var(--fs-sm);color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-account-chevron{color:var(--fg-dim);font-size:var(--fs-xs);transition:transform var(--t-fast);flex:none}.portal-account-chevron[data-open=true]{transform:rotate(180deg)}.portal-account-panel{z-index:20;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:10px;position:absolute;bottom:calc(100% + 6px);left:8px;right:8px}.portal-account-section{flex-direction:column;gap:8px;display:flex}.portal-account-section-label{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.portal-account-sep{background:var(--hairline);height:1px;margin:10px 2px}.portal-account-action{border-radius:var(--radius);width:100%;color:var(--fg-2);font-size:var(--fs-base);cursor:pointer;text-align:left;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;font-weight:500;display:flex}.portal-account-action:hover{background:var(--bg-hover);color:var(--fg)}.portal-account-action[data-tone=danger]{color:var(--error)}.portal-account-action[data-tone=danger]:hover{background:var(--error-soft)}.portal-account-action:disabled{opacity:.6;cursor:default}.portal-provision-grid{grid-template-columns:2fr 1.4fr 1fr;gap:12px;display:grid}@media (max-width:720px){.portal-provision-grid{grid-template-columns:1fr}}.portal-po-progress{margin-top:var(--sp-sm)}.portal-receive{flex-direction:column;display:flex}.portal-receive-head{align-items:center;gap:var(--sp-sm);padding-bottom:var(--sp-2xs);grid-template-columns:1fr 104px 120px;display:grid}.portal-receive-head span{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2)}.portal-receive-head span+span{text-align:right}.portal-receive-line{border-top:1px solid var(--hairline);padding:var(--sp-sm) 0}.portal-receive-row{align-items:center;gap:var(--sp-sm);grid-template-columns:1fr 104px 120px;display:grid}.portal-receive-name{min-width:0;color:var(--fg);font-size:var(--fs-base);overflow-wrap:anywhere}.portal-receive-out{text-align:right;color:var(--fg);font-family:var(--font-mono);font-size:var(--fs-sm)}.portal-receive-serial{margin-top:var(--sp-xs);gap:var(--sp-sm);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (max-width:720px){.portal-receive-serial{grid-template-columns:1fr}}.portal-slot-days{flex-direction:column;gap:18px;display:flex}.portal-slot-day-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:10px}.portal-slot-grid{flex-wrap:wrap;gap:8px;display:flex}.portal-slot{font-family:var(--font-mono);font-size:var(--fs-base);border-radius:var(--radius-md);background:var(--bg-raised);border:1px solid var(--border);color:var(--fg);cursor:pointer;padding:8px 14px;font-weight:500;transition:border-color .12s,background .12s,color .12s}.portal-slot:hover{border-color:var(--primary);color:var(--primary-2);background:var(--primary-soft)}.portal-slot:disabled{opacity:.5;cursor:not-allowed}.portal-consent{border-radius:var(--radius-md);background:var(--bg-raised);border:1px solid var(--border);font-size:var(--fs-base);color:var(--fg-2);cursor:pointer;align-items:flex-start;gap:12px;padding:14px;line-height:1.55;display:flex}.portal-consent input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex:none;width:16px;height:16px;margin-top:3px}.portal-checkgroup{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.portal-checkgroup .portal-consent{font-size:var(--fs-sm);align-items:center;gap:9px;padding:9px 11px}.portal-checkgroup .portal-consent input[type=checkbox]{margin-top:0}@media (max-width:560px){.portal-checkgroup{grid-template-columns:1fr}}.portal-composer{flex-direction:column;gap:12px;display:flex}.portal-composer textarea.portal-input{resize:vertical;min-height:76px;line-height:1.55}.portal-composer-actions{justify-content:flex-end;gap:10px;display:flex}.portal-composer--framed{border-top:1px solid var(--hairline);padding:12px 14px}.portal-composer-actions--split{align-items:center;gap:12px}.portal-composer-actions--split>:first-child{margin-right:auto}.portal-composer-file{font-size:var(--fs-sm);max-width:240px}.portal-composer-files{margin-top:6px}.portal-composer-to{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.portal-btn--danger{color:var(--error);border-color:rgba(var(--error-rgb), .34);background:linear-gradient(var(--error-soft), var(--error-soft)) var(--bg-panel)}.portal-btn--danger:hover{background:linear-gradient(var(--error-soft), var(--error-soft)) var(--bg-panel);border-color:var(--error)}.portal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.portal-filterchip{cursor:pointer;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg-2);font-size:var(--fs-sm);letter-spacing:-.01em;align-items:center;gap:7px;padding:6px 12px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.portal-filterchip:hover{background:var(--bg-hover);color:var(--fg)}.portal-filterchip[data-active=true]{border-color:var(--primary);color:var(--fg);background:var(--primary-soft)}.portal-filterchip--xs{font-size:var(--fs-xs);padding:3px 9px}.portal-bulkbar{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-raised);align-items:center;gap:12px;padding:8px 12px;display:flex}.portal-bulkbar--stacked{margin-bottom:12px}.portal-bulkbar-count{font-size:var(--fs-base)}.portal-barnote{font-size:var(--fs-sm);margin-top:0}.portal-arstrip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.portal-arstrip--stacked{margin-bottom:14px}.portal-arcell{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-raised);cursor:pointer;text-align:left;font:inherit;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.portal-arcell:hover{background:var(--bg-hover)}.portal-arcell[data-active=true]{border-color:var(--primary);background:var(--primary-soft)}.portal-arcell-label{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.portal-arcell-amt{font-family:var(--font-mono);font-size:var(--fs-xl);color:var(--fg);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600}.portal-arcell-meta{font-size:var(--fs-xs);color:var(--fg-dim)}.portal-arcell[data-tone=warn] .portal-arcell-amt{color:var(--warning)}.portal-arcell[data-tone=alert] .portal-arcell-amt{color:var(--error)}.portal-lineitems{flex-direction:column;gap:6px;display:flex}.portal-lineitems-grid{grid-template-columns:3fr .8fr .8fr 1fr 1fr auto;align-items:center;gap:6px;display:grid}.portal-lineitems-grid .portal-input{height:var(--ctl-h-sm);font-size:var(--fs-base);padding:0 9px}.portal-lineitems-head{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}@media (max-width:880px){.portal-lineitems-grid{grid-template-columns:1fr 1fr}.portal-lineitems-head{display:none}}.portal-modal-backdrop{z-index:70;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.portal-modal{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:calc(100vh - 48px);padding:22px;overflow-y:auto;box-shadow:0 24px 60px #0006}.portal-modal-title{font-weight:700;font-size:var(--fs-lg);margin-bottom:6px}.portal-modal-sub{color:var(--fg-dim);font-size:var(--fs-base);margin-bottom:16px;line-height:1.5}.portal-modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.portal-docpreview{justify-content:center;align-items:center;min-height:200px;display:flex}.portal-docpreview-img{object-fit:contain;border-radius:var(--radius-sm);background:linear-gradient(45deg, var(--bg-deep) 25%, transparent 25%, transparent 75%, var(--bg-deep) 75%), linear-gradient(45deg, var(--bg-deep) 25%, var(--bg-raised) 25%, var(--bg-raised) 75%, var(--bg-deep) 75%);background-position:0 0,8px 8px;background-size:16px 16px;max-width:100%;max-height:calc(100vh - 260px)}.portal-docpreview-frame{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-deep);width:100%;height:calc(100vh - 260px);min-height:360px}.portal-docpreview-note{text-align:center;max-width:52ch;margin:0}.portal-cmdk{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);outline:none;align-self:flex-start;width:100%;max-width:640px;margin-top:14vh;overflow:hidden;box-shadow:0 32px 80px #0000008c}.portal-cmdk-input{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 14px;display:flex}.portal-cmdk-input .ico{color:var(--fg-dim);flex:none}.portal-cmdk-input .portal-input{font-size:var(--fs-lg);background:0 0;border:none;padding:0}.portal-cmdk-input .portal-input:focus{box-shadow:none;outline:none}.portal-cmdk-esc{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);border:1px solid var(--border);border-radius:var(--radius-sm);flex:none;padding:2px 6px}.portal-cmdk-list{max-height:50vh;padding:6px;overflow-y:auto}.portal-cmdk-group{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);padding:8px 10px 4px}.portal-cmdk-empty{text-align:center;color:var(--fg-dim);font-size:var(--fs-base);padding:24px}.portal-cmdk-row{text-align:left;border-radius:var(--radius);cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:9px 10px;display:flex}.portal-cmdk-row[data-active=true]{background:var(--bg-hover)}.portal-cmdk-row-primary{font-size:var(--fs-base);color:var(--fg);font-weight:500}.portal-cmdk-row-secondary{font-size:var(--fs-xs);color:var(--fg-dim)}.portal-cmdk-trigger{width:100%;max-width:520px;height:var(--ctl-h);padding:0 var(--ctl-px);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg-dim);font-size:var(--fs-base);cursor:pointer;align-items:center;gap:8px;transition:border-color .12s,background .12s;display:inline-flex}.portal-cmdk-trigger:hover{background:var(--bg-hover);color:var(--fg-2);border-color:var(--border-strong)}.portal-cmdk-trigger .ico{opacity:.8;flex:none}.portal-cmdk-trigger .portal-cmdk-trigger-label{text-align:left;text-overflow:clip;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.portal-cmdk-trigger kbd{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);border:1px solid var(--border);border-radius:4px;flex:none;padding:1px 5px}@media (max-width:880px){.portal-cmdk-trigger kbd{display:none}.portal-cmdk-trigger .portal-cmdk-trigger-label{font-size:var(--fs-sm)}}.portal-stepper{flex-wrap:wrap;gap:6px 18px;margin:0 0 16px;padding:0;list-style:none;display:flex}.portal-stepper-step{font-size:var(--fs-sm);color:var(--fg-dim);align-items:center;gap:8px;display:inline-flex}.portal-stepper-num{width:20px;height:20px;font-size:var(--fs-xs);border:1px solid var(--border);background:var(--bg-raised);color:var(--fg-dim);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.portal-stepper-step[data-state=active]{color:var(--fg)}.portal-stepper-step[data-state=active] .portal-stepper-num{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}.portal-stepper-step[data-state=done] .portal-stepper-num{border-color:var(--success);background:var(--success);color:var(--color-white)}.portal-review{font-size:var(--fs-base);grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.portal-review dt{color:var(--fg-dim)}.portal-review dd{color:var(--fg);margin:0}.portal-policy-diff{font-size:var(--fs-sm);font-family:var(--font-mono);margin-top:6px}.portal-policy-diff-before{color:var(--fg-dim);text-decoration:line-through}.portal-policy-diff-after{color:var(--primary-hover);font-weight:600}.portal-crumb{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);letter-spacing:.02em;align-items:center;gap:7px;margin-bottom:12px;display:flex}.portal-crumb a{color:var(--fg-dim);text-decoration:none}.portal-crumb a:hover{color:var(--primary-2)}.portal-crumb .sep{color:var(--fg-dim)}.portal-client-head{z-index:20;background:var(--bg);margin:-32px -32px 0;padding:24px 32px 0;position:sticky;top:-32px}@media (max-width:880px){.portal-client-head{margin:-20px -20px 0;padding:16px 20px 0;top:-20px}}.portal-ch-top{align-items:flex-start;gap:16px;display:flex}.portal-ch-mono{border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--bg-raised), var(--bg-hover));border:1px solid var(--border-strong);width:52px;height:52px;font-weight:800;font-size:var(--fs-2xl);letter-spacing:-.02em;color:var(--fg);flex:none;place-items:center;display:grid}.portal-ch-id{flex:1;min-width:0}.portal-ch-name{font-size:var(--fs-3xl);letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:10px;font-weight:700;line-height:1.05;display:flex}.portal-ch-slug{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-dim);margin-top:5px}.portal-ch-actions{flex-wrap:wrap;flex:none;gap:8px;display:flex}.portal-kpis{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);margin-top:16px;display:flex;overflow:hidden}.portal-kpi{border-left:1px solid var(--hairline);flex:1;min-width:0;padding:12px 16px}.portal-kpi:first-child{border-left:none}.portal-kpi .v{font-family:var(--font-mono);font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:600;line-height:1}.portal-kpi .v.accent{color:var(--warning)}.portal-kpi .v.signal{color:var(--primary-2)}.portal-kpi .l{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);margin-top:8px}@media (max-width:880px){.portal-kpis{flex-wrap:wrap}.portal-kpi{flex:40%}}.portal-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:2px;margin-top:14px;padding-bottom:0;display:flex;overflow-x:auto}.portal-tabs::-webkit-scrollbar{display:none}.portal-tab{font-size:var(--fs-base);color:var(--fg-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px 12px;font-weight:600;transition:color .12s;display:flex}.portal-tab:hover{color:var(--fg-2)}.portal-tab[data-active=true]{color:var(--fg);border-bottom-color:var(--primary)}.portal-tab .cnt{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);background:var(--bg-raised);border:1px solid var(--border);border-radius:20px;padding:0 6px}.portal-tab[data-active=true] .cnt{color:var(--primary-2);border-color:rgba(var(--primary-rgb), .3)}.portal-tabs-picker{border-bottom:1px solid var(--border);padding-bottom:var(--sp-sm);margin-top:14px}.portal-tabs-trigger{align-items:center;gap:var(--sp-xs);width:100%;height:var(--ctl-h);padding:0 var(--ctl-px);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--fg);font:inherit;font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;text-align:left;display:flex}.portal-tabs-trigger[data-open=true]{border-color:var(--primary);background:var(--bg-hover)}.portal-tabs-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.portal-tabs-pop{min-width:min(280px,78vw);max-height:60vh;overflow-y:auto}.portal-tabs-pop .portal-chip-poprow{justify-content:space-between;align-items:center}.portal-tabs-pop .cnt{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-pill);padding:1px 7px}.portal-seg{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:2px;padding:2px;display:inline-flex}.portal-seg-btn{cursor:pointer;font:inherit;height:calc(var(--ctl-h) - 6px);border-radius:var(--radius);color:var(--fg-dim);font-size:var(--fs-sm);white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:0 12px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.portal-seg-btn:hover{color:var(--fg-2)}.portal-seg-btn[data-active=true]{color:var(--fg);background:var(--bg-raised);box-shadow:0 1px 2px #00000040}.portal-seg-btn .cnt{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);background:var(--bg-panel);border:1px solid var(--border);border-radius:20px;padding:0 6px}.portal-seg-btn[data-active=true] .cnt{color:var(--primary-2);border-color:rgba(var(--primary-rgb), .3)}.portal-section{padding-top:22px}.portal-section-explain{color:var(--fg-2);font-size:var(--fs-base);max-width:78ch;margin:0 0 14px;line-height:1.5}.portal-pane-grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.portal-pane-grid>.span-8{grid-column:span 8}.portal-pane-grid>.span-6{grid-column:span 6}.portal-pane-grid>.span-4{grid-column:span 4}.portal-pane-grid>.span-12{grid-column:span 12}@media (max-width:880px){.portal-pane-grid>[class*=span-]{grid-column:span 12}}.portal-record{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xl);position:relative;overflow:hidden}.portal-record:before{content:"";pointer-events:none;background:radial-gradient(120% 140% at 0% 0%, var(--primary-subtle), transparent 58%);position:absolute;inset:0}.portal-record[data-tone=success]:before{background:radial-gradient(120% 140% at 0% 0%, var(--success-light), transparent 58%)}.portal-record[data-tone=warn]:before{background:radial-gradient(120% 140% at 0% 0%, var(--warning-light), transparent 58%)}.portal-record[data-tone=alert]:before{background:radial-gradient(120% 140% at 0% 0%, var(--error-light), transparent 58%)}.portal-record-body{padding:var(--sp-panel);position:relative}.portal-record-top{justify-content:space-between;align-items:flex-start;gap:var(--sp-md);flex-wrap:wrap;display:flex}.portal-record-ident{align-items:flex-start;gap:var(--sp-sm);flex:320px;min-width:0;display:flex}.portal-record-identbody{flex:1;min-width:0}.portal-record-mono{border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--bg-raised), var(--bg-hover));border:1px solid var(--border-strong);width:46px;height:46px;font-weight:var(--fw-bold);font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--fg);flex:none;place-items:center;display:grid}.portal-record-kind{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);align-items:center;gap:var(--sp-2xs);margin-bottom:var(--sp-2xs);display:flex}.portal-record-title{font-size:var(--fs-3xl);letter-spacing:-.02em;color:var(--fg);margin:0;font-weight:700;line-height:1.15}.portal-record-meta{margin-top:var(--sp-2xs);align-items:center;column-gap:var(--sp-xs);row-gap:var(--sp-2xs);color:var(--fg-2);font-size:var(--fs-base);flex-wrap:wrap;line-height:1.5;display:flex}.portal-record-actions{align-items:center;gap:var(--sp-xs);flex-wrap:wrap;flex:none;display:flex}.portal-record-state{margin-top:var(--sp-md);padding-top:var(--sp-md);border-top:1px solid var(--hairline)}.portal-record-hint{margin:var(--sp-xs) 0 0;color:var(--fg-2);font-size:var(--fs-sm);max-width:78ch;line-height:1.5}.portal-record-hint strong{color:var(--fg);font-weight:600}.portal-track-wrap{align-items:stretch;gap:var(--sp-xs);flex-wrap:wrap;display:flex}.portal-track{scrollbar-width:thin;flex:340px;gap:2px;min-width:0;display:flex;overflow-x:auto}.portal-track-outcomes{padding-left:var(--sp-xs);border-left:1px solid var(--border);flex:none;gap:2px;display:flex}.portal-track-step{min-width:104px;height:var(--ctl-h);padding:0 var(--ctl-px-sm);border-radius:var(--radius-xs);background:var(--bg-raised);color:var(--fg-dim);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;text-align:center;text-overflow:ellipsis;white-space:nowrap;transition:background var(--t-fast), color var(--t-fast);border:none;flex:1 1 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.portal-track-outcomes .portal-track-step{min-width:0;padding:0 var(--ctl-px);flex:none}.portal-track-step:before{content:"";background:var(--border-strong);height:3px;transition:background var(--t-fast);position:absolute;inset:0 0 auto}button.portal-track-step{cursor:pointer}button.portal-track-step:hover:not(:disabled){background:var(--bg-hover);color:var(--fg-2)}.portal-track-step:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-track-step:disabled{cursor:default}.portal-track-step{--ramp:var(--primary)}.portal-track-step[data-ramp="1"]{--ramp:var(--stage-1)}.portal-track-step[data-ramp="2"]{--ramp:var(--stage-2)}.portal-track-step[data-ramp="3"]{--ramp:var(--stage-3)}.portal-track-step[data-ramp="4"]{--ramp:var(--stage-4)}.portal-track-step[data-ramp="5"]{--ramp:var(--stage-5)}.portal-track-step[data-state=todo]:before{background:color-mix(in srgb, var(--ramp) 26%, transparent)}.portal-track-step[data-state=done]{color:var(--fg-2)}.portal-track-step[data-state=done]:before{background:color-mix(in srgb, var(--ramp) 70%, transparent)}.portal-track-step[data-state=current]{background:color-mix(in srgb, var(--ramp) 16%, transparent);color:var(--fg);font-weight:var(--fw-semibold)}.portal-track-step[data-state=current]:before{background:var(--ramp)}.portal-track-step[data-state=current][data-tone=success]{background:var(--success-light)}.portal-track-step[data-state=current][data-tone=success]:before{background:var(--success)}.portal-track-step[data-state=current][data-tone=warn]{background:var(--warning-light)}.portal-track-step[data-state=current][data-tone=warn]:before{background:var(--warning)}.portal-track-step[data-state=current][data-tone=alert]{background:var(--error-light)}.portal-track-step[data-state=current][data-tone=alert]:before{background:var(--error)}.portal-track[data-closed=true] .portal-track-step[data-state=done]:before,.portal-track[data-closed=true] .portal-track-step[data-state=todo]:before{background:var(--border-strong)}.portal-track[data-closed=true] .portal-track-step[data-state=done]{color:var(--fg-dim)}.portal-track--meter{align-items:center;gap:3px;width:100%;display:flex;overflow:visible}.portal-track-seg{border-radius:var(--radius-pill);background:var(--border-strong);--ramp:var(--primary);flex:1 1 0;min-width:0;height:5px}.portal-track-seg[data-ramp="1"]{--ramp:var(--stage-1)}.portal-track-seg[data-ramp="2"]{--ramp:var(--stage-2)}.portal-track-seg[data-ramp="3"]{--ramp:var(--stage-3)}.portal-track-seg[data-ramp="4"]{--ramp:var(--stage-4)}.portal-track-seg[data-ramp="5"]{--ramp:var(--stage-5)}.portal-track-seg[data-state=todo]{background:color-mix(in srgb, var(--ramp) 26%, transparent)}.portal-track-seg[data-state=done]{background:color-mix(in srgb, var(--ramp) 70%, transparent)}.portal-track-seg[data-state=current]{background:var(--ramp)}.portal-track--meter[data-tone=success] .portal-track-seg[data-state=done]{background:var(--success)}.portal-track--meter[data-tone=warn] .portal-track-seg[data-state=done]{background:var(--warning)}.portal-track--meter[data-tone=alert] .portal-track-seg[data-state=done]{background:var(--error)}.portal-track-compact{gap:var(--sp-xs);flex-direction:column;width:100%;display:flex}.portal-track-compact-row{align-items:center;gap:var(--sp-sm);flex-wrap:wrap;display:flex}.portal-track-pos{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.02em;color:var(--fg-dim);flex:none;margin-left:auto}.portal-readouts{background:var(--bg-deep);border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex;position:relative}.portal-readout{min-width:0;padding:var(--sp-sm) var(--sp-panel);border-left:1px solid var(--hairline);flex:150px}.portal-readout:first-child{border-left:none}.portal-readout-label{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim)}.portal-readout-value{margin-top:var(--sp-3xs);font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--fg);overflow-wrap:break-word;line-height:1.2}.portal-readout-value[data-empty=true]{font-size:var(--fs-base);font-weight:var(--fw-normal);color:var(--fg-dim);line-height:1.7}.portal-readout-value[data-tone=warn]{color:var(--warning)}.portal-readout-note{margin-top:var(--sp-3xs);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.02em;color:var(--fg-dim)}.portal-panel-headmain{align-items:center;gap:var(--sp-sm);min-width:0;display:flex}.portal-panel-title{min-width:0}.portal-panel-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portal-panel-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--pi) 16%, transparent);border:1px solid color-mix(in srgb, var(--pi) 40%, transparent);width:30px;height:30px;color:var(--pi);flex:none;place-items:center;display:grid}.portal-role[data-tone=brief]{--role:var(--cat-8)}.portal-role[data-tone=money]{--role:var(--cat-4)}.portal-role[data-tone=delivery]{--role:var(--cat-3)}.portal-role[data-tone=comms]{--role:var(--cat-1)}.portal-role[data-tone=paper]{--role:var(--cat-2)}.portal-role[data-tone=history]{--role:var(--cat-7)}.portal-role[data-tone=people]{--role:var(--cat-5)}.portal-role[data-tone=place]{--role:var(--cat-6)}.portal-panel-icon{--pi:var(--role,var(--cat-8))}.portal-gauge-sentinel{height:1px;margin-top:var(--sp-md)}.portal-gauge{z-index:20;padding:32px 32px var(--sp-xs);background:var(--bg);transition:box-shadow var(--t-base);margin:0 -32px;position:sticky;top:-32px}.portal-gauge[data-stuck=true]{box-shadow:0 14px 22px -18px #000000e6}.portal-gauge-row{align-items:center;display:flex}.portal-gauge-ident{align-items:center;gap:var(--sp-xs);opacity:0;max-width:0;transition:max-width var(--t-base), opacity var(--t-base), margin var(--t-base);flex:none;margin-right:0;text-decoration:none;display:flex;overflow:hidden}.portal-gauge[data-stuck=true] .portal-gauge-ident{opacity:1;max-width:210px;margin-right:var(--sp-sm)}.portal-gauge-mono{border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--border-strong);width:24px;height:24px;font-size:var(--fs-xs);font-weight:var(--fw-bold);flex:none;place-items:center;display:grid}.portal-gauge-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.portal-gauge-ident:hover .portal-gauge-name{color:var(--fg)}.portal-gauge-bar{flex:1;gap:2px;min-width:0;height:46px;display:flex;position:relative}.portal-gauge-seg{flex:var(--gauge-w,1) 0 0;align-items:center;gap:var(--sp-2xs);border-radius:var(--radius-xs);background:var(--bg-raised);min-width:34px;color:var(--fg-dim);transition:flex-basis var(--t-base), background var(--t-fast), color var(--t-fast);padding:0 9px;text-decoration:none;display:flex;position:relative;overflow:hidden}.portal-gauge-seg:hover{background:var(--bg-hover);color:var(--fg-2)}.portal-gauge-seg[data-on=true],.portal-gauge-seg:hover,.portal-gauge-seg:focus-visible{flex-basis:138px}.portal-gauge-seg[data-on=true]{background:color-mix(in srgb, var(--role) 14%, transparent);color:var(--fg)}.portal-gauge-seg:before{content:"";background:color-mix(in srgb, var(--role) 24%, transparent);height:3px;transition:background var(--t-fast);position:absolute;inset:0 0 auto}.portal-gauge-seg[data-passed=true]:before{background:color-mix(in srgb, var(--role) 68%, transparent)}.portal-gauge-seg[data-on=true]:before{background:var(--role)}.portal-gauge-glyph{color:color-mix(in srgb, var(--role) 70%, var(--fg-nontext));flex:none;display:inline-flex}.portal-gauge-glyph .ico{width:14px;height:14px}.portal-gauge-seg[data-on=true] .portal-gauge-glyph{color:var(--role)}.portal-gauge-label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;opacity:0;transition:opacity var(--t-fast)}.portal-gauge-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);font-variant-numeric:tabular-nums;opacity:0;transition:opacity var(--t-fast);flex:none}.portal-gauge-seg[data-wide] .portal-gauge-label,.portal-gauge-seg[data-wide] .portal-gauge-count,.portal-gauge-seg[data-on=true] .portal-gauge-label,.portal-gauge-seg[data-on=true] .portal-gauge-count,.portal-gauge-seg:hover .portal-gauge-label,.portal-gauge-seg:hover .portal-gauge-count,.portal-gauge-seg:focus-visible .portal-gauge-label,.portal-gauge-seg:focus-visible .portal-gauge-count{opacity:1}.portal-gauge-head{top:-5px;bottom:0;left:var(--gauge-pos,0%);background:var(--fg);pointer-events:none;width:1px;position:absolute;transform:translate(-.5px)}.portal-gauge-head:after{content:"";background:var(--fg);clip-path:polygon(50% 100%,0 0,100% 0);width:7px;height:6px;margin-left:-3.5px;position:absolute;top:-1px;left:50%}.portal-gauge-scale{margin:var(--sp-xs) 0 0;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.portal-gauge-scale strong{color:var(--fg-dim);font-weight:var(--fw-semibold)}.portal-gauge-phone{gap:var(--sp-xs);flex-direction:column;display:flex}.portal-gauge-popwrap{display:block}.portal-gauge-current{align-items:center;gap:var(--sp-xs);width:100%;min-height:var(--touch-target-min);padding:0 var(--ctl-px);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-raised);color:var(--fg);font:inherit;text-align:left;cursor:pointer;display:flex}.portal-gauge-current[data-open=true]{border-color:var(--primary);background:var(--bg-hover)}.portal-gauge-current .portal-gauge-glyph{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--role) 16%, transparent);border:1px solid color-mix(in srgb, var(--role) 42%, transparent);width:24px;height:24px;color:var(--role);place-items:center;display:grid}.portal-gauge-current .portal-gauge-name{min-width:0;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--fg);flex:1}.portal-gauge-current .portal-gauge-count{opacity:1;color:var(--fg-dim);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-pill);padding:1px 7px}.portal-gauge-pos{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none}.portal-gauge-pop{min-width:min(300px,82vw);max-height:58vh;overflow-y:auto}.portal-gauge-poprow{min-height:var(--touch-target-min)}.portal-gauge-poprow .portal-gauge-glyph{color:var(--role)}.portal-gauge-poprow .cnt{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-pill);padding:1px 7px}.portal-gauge-bar--phone{touch-action:none;cursor:pointer;align-items:center;height:22px}.portal-gauge-bar--phone .portal-gauge-seg{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--role) 26%, transparent);min-width:2px;height:6px;transition:height var(--t-fast), background var(--t-fast);padding:0}.portal-gauge-bar--phone .portal-gauge-seg:before{display:none}.portal-gauge-bar--phone .portal-gauge-seg[data-passed=true]{background:color-mix(in srgb, var(--role) 68%, transparent)}.portal-gauge-bar--phone .portal-gauge-seg[data-on=true]{background:var(--role);height:10px}.portal-gauge-bar--phone .portal-gauge-head{border-radius:var(--radius-pill);width:2px;top:0;bottom:0;transform:translate(-1px)}.portal-gauge-bar--phone .portal-gauge-head:after{display:none}.portal-chapters{gap:var(--sp-md);flex-direction:column;display:flex}.portal-chapter{scroll-margin-top:var(--chapter-offset,96px);min-width:0}.portal-record-rail{top:calc(46px + var(--sp-md));align-self:start;min-width:0;position:sticky}@media (max-width:1100px){.portal-record-rail{position:static}}@media (max-width:880px){.portal-gauge{padding:20px 20px var(--sp-xs);margin:0 -20px;top:-20px}}@media (max-width:767px){.portal-chapters{gap:var(--sp-sm)}}.portal-section-add{margin-top:var(--sp-md);padding:var(--sp-sm);background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-md)}.portal-timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-timeline[data-scroll=true]{max-height:50vh;overflow-y:auto}.portal-timeline-item{padding:0 0 var(--sp-md) 26px;position:relative}.portal-timeline-item:last-child{padding-bottom:0}.portal-timeline-item:before{content:"";background:var(--border);width:1px;position:absolute;top:18px;bottom:0;left:5px}.portal-timeline-item:last-child:before{display:none}.portal-timeline-node{border-radius:var(--radius-pill);background:var(--bg-panel);border:2px solid var(--fg-nontext);box-sizing:border-box;width:11px;height:11px;position:absolute;top:5px;left:0}.portal-timeline-node[data-tone=primary]{border-color:var(--primary)}.portal-timeline-node[data-tone=info]{border-color:var(--info)}.portal-timeline-node[data-tone=accent]{border-color:var(--accent)}.portal-timeline-node[data-tone=success]{border-color:var(--success)}.portal-timeline-node[data-upcoming=true]{border-color:var(--warning);border-style:dashed}.portal-timeline-head{justify-content:space-between;align-items:baseline;gap:var(--sp-sm);display:flex}.portal-timeline-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--fg);min-width:0;line-height:1.4}.portal-timeline-when{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);letter-spacing:.02em;flex:none}.portal-timeline-kind{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim);margin-top:var(--sp-4xs)}.portal-timeline-body{margin:var(--sp-2xs) 0 0;color:var(--fg-2);font-size:var(--fs-sm);white-space:pre-wrap;max-width:78ch;line-height:1.65}.portal-prose{color:var(--fg-2);font-size:var(--fs-base);white-space:pre-wrap;max-width:78ch;margin:0;line-height:1.7}.portal-prose strong{color:var(--fg);font-weight:var(--fw-semibold)}@media (max-width:767px){.portal-record-body{padding:var(--sp-md)}.portal-record-title{font-size:var(--fs-2xl);line-height:1.2}.portal-record-actions{width:100%}.portal-record-actions>.portal-btn{flex:1}.portal-readout{padding:var(--sp-sm) var(--sp-md);flex-basis:50%}.portal-readout:nth-child(odd){border-left:none}.portal-readout:nth-child(n+3){border-top:1px solid var(--hairline)}.portal-record-panes{margin-top:var(--sp-sm)}.portal-record-panes .portal-panel-explain{display:none}}.portal-record-error,.portal-record-note{margin:0 0 var(--sp-sm)}.portal-record-callout{margin-top:var(--sp-md)}.portal-record-callout-list{margin:var(--sp-xs) 0 0;padding-left:18px}.portal-lead-attach{font-size:var(--fs-sm);color:var(--fg-dim);margin-left:8px}.portal-record-panes{margin-top:var(--sp-md)}.portal-record-formfoot{margin-top:var(--sp-sm)}.portal-record-editing{margin-top:var(--sp-md)}.portal-popover-x{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-raised);width:30px;height:30px;color:var(--fg-2);cursor:pointer;place-items:center;display:grid}.portal-popover-x:hover{background:var(--bg-hover);color:var(--fg)}.portal-inbox{--conv-head-h:60px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);grid-template-columns:320px 1fr;gap:0;height:560px;min-height:0;display:grid;overflow:hidden}.portal-inbox--fill{flex:1;height:auto;min-height:0}@media (max-width:880px){.portal-inbox,.portal-inbox--fill{grid-template-columns:1fr;height:auto}}.portal-inbox--barred{flex-direction:column;display:flex}.portal-inbox--barred .portal-inbox-body{flex:1;grid-template-columns:320px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}@media (max-width:880px){.portal-inbox--barred .portal-inbox-body{grid-template-columns:minmax(0,1fr)}}.portal-inbox-bar{min-height:var(--conv-head-h);border-bottom:1px solid var(--border);background:var(--bg-deep);flex:none;align-items:center;gap:12px;padding:10px 14px;display:flex}.portal-inbox-bar-div{background:var(--border);flex:none;align-self:stretch;width:1px;margin:6px 2px}.portal-inbox-bar-search{width:260px;max-width:38%;margin-left:auto}.portal-inbox-bar-search>.portal-search{min-width:0}@media (max-width:720px){.portal-inbox-bar{flex-wrap:wrap}.portal-inbox-bar-div{display:none}.portal-inbox-bar-search{width:100%;max-width:none;margin-left:0}}.portal-seg-dot{background:var(--primary);border-radius:50%;flex:none;width:6px;height:6px}.portal-seg-dot--warn{background:var(--warning)}.portal-seg--alert .portal-seg-btn .cnt{color:var(--warning);border-color:rgba(var(--warning-rgb), .3)}.portal-seg--alert .portal-seg-btn[data-active=true] .cnt{color:var(--warning);border-color:rgba(var(--warning-rgb), .45)}.portal-seg-btn:disabled{opacity:.45;cursor:default}.portal-tray-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-deep);margin-top:4px;overflow:hidden}.portal-tray-picker-head{font-size:var(--fs-sm);color:var(--fg-2);border-bottom:1px solid var(--hairline);padding:10px 12px;font-weight:600}.portal-tray-picker>.portal-search{margin:10px 12px}.portal-tray-picker-list{max-height:240px;overflow-y:auto}.portal-tray-picker-item{text-align:left;border:none;border-top:1px solid var(--hairline);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;flex-direction:column;gap:2px;padding:9px 12px;display:flex}.portal-tray-picker-item:hover:not(:disabled){background:var(--bg-hover)}.portal-tray-picker-item:disabled{opacity:.5;cursor:default}.portal-tray-picker-name{font-size:var(--fs-base);font-weight:600}.portal-tray-picker-meta{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-dim)}.portal-tray-footer{border-top:1px solid var(--hairline);background:var(--bg-raised);flex:none;gap:8px;padding:12px 14px;display:flex}.portal-tl{border-right:1px solid var(--border);background:var(--bg-deep);flex-direction:column;min-width:0;min-height:0;display:flex}.portal-tl-head{min-height:var(--conv-head-h);border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:0 16px;display:flex}.portal-tl-title{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:700}.portal-tl-scroll{flex:1;min-height:0;overflow-y:auto}.portal-tl-note{color:var(--fg-dim);font-size:var(--fs-xs);border-top:1px solid var(--hairline);padding:12px 16px;line-height:1.5}.portal-tl-empty{color:var(--fg-dim);font-size:var(--fs-base);text-align:center;padding:28px 16px}.portal-tl-item{text-align:left;border:none;border-bottom:1px solid var(--hairline);cursor:pointer;width:100%;min-width:0;color:inherit;font:inherit;background:0 0;flex-direction:column;gap:4px;padding:12px 16px;display:flex;position:relative;overflow:hidden}.portal-tl-item:hover,.portal-tl-item[data-active=true]{background:var(--bg-hover)}.portal-tl-item[data-active=true]:before{content:"";background:var(--primary);width:2px;position:absolute;top:0;bottom:0;left:0}.portal-tl-subj{font-size:var(--fs-base);align-items:center;gap:7px;min-width:0;font-weight:600;display:flex;overflow:hidden}.portal-tl-unread{background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 3px var(--primary-soft);border-radius:50%;flex:none}.portal-tl-prev{font-size:var(--fs-sm);color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-tl-when{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-dim)}.portal-conv{flex-direction:column;min-width:0;min-height:0;display:flex}.portal-conv-head{min-height:var(--conv-head-h);border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;display:flex}.portal-conv-title{font-size:var(--fs-lg);font-weight:650}.portal-conv-sub{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);margin-top:3px}.portal-conv-scroll{flex:1;min-height:0;padding:20px 18px;overflow-y:auto}.portal-conv-empty{color:var(--fg-dim);text-align:center;flex:1;place-items:center;padding:24px;display:grid}.portal-conv-head-actions{align-items:center;gap:8px;display:flex}.portal-conv-error{padding:4px}.portal-tl-pill{margin-left:6px}.portal-triage-note{margin-bottom:12px;line-height:1.5}.portal-conv-meta{border-top:1px solid var(--hairline);background:var(--bg-raised);font-size:var(--fs-sm);padding:10px 14px}.portal-conv-assign{align-items:center;gap:10px;margin-bottom:8px;display:flex}.portal-conv-assign>.portal-btn{margin-left:auto}.portal-conv-notes{gap:4px;margin-bottom:8px;display:grid}.portal-conv-note{color:var(--fg-2)}.portal-conv-note-when{color:var(--fg-dim)}.portal-conv-noteform{gap:8px;display:flex}.portal-conv-noteform .portal-input{font-size:var(--fs-sm);flex:1}.portal-msg-recipients{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.portal-msg-recipient{gap:4px}.portal-msg-resend{font-size:var(--fs-xs)}.portal-msg-attach{font-size:var(--fs-sm);align-items:center;gap:8px;margin-top:6px;display:flex}.portal-msg-attach-blocked{color:var(--fg-dim)}.portal-msg[data-side=own]{align-self:flex-end;align-items:flex-end}.portal-msg[data-side=other]{align-self:flex-start;align-items:flex-start}.portal-msg[data-side=system]{align-self:center;align-items:center;max-width:90%}.portal-msg[data-side=own] .portal-msg-body{background:var(--primary-soft);border-color:rgba(var(--primary-rgb), .28)}.portal-msg[data-side=system] .portal-msg-body{color:var(--fg-2);font-size:var(--fs-base);background:0 0;border-style:dashed}.portal-cal{flex-direction:column;gap:14px;display:flex}.portal-cal-pending-flag{border-radius:var(--radius-lg);background:var(--warning-soft);border:1px solid rgba(var(--warning-rgb), .3);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:11px 14px;text-decoration:none;transition:border-color .12s;display:flex}.portal-cal-pending-flag:hover{border-color:rgba(var(--warning-rgb), .55)}.portal-cal-pending-text{font-size:var(--fs-base);color:var(--fg-2)}.portal-cal-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-cal-nav{align-items:center;gap:14px;min-width:0;display:flex}.portal-cal-bar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.portal-cal-today{font:inherit;font-size:var(--fs-base);cursor:pointer;border-radius:var(--radius-md);background:var(--bg-raised);border:1px solid var(--border-strong);color:var(--fg);padding:8px 14px;font-weight:600;transition:background .12s,border-color .12s}.portal-cal-today:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary-2)}.portal-cal-stepper{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-raised);display:inline-flex;overflow:hidden}.portal-cal-step{font:inherit;font-size:var(--fs-xl);cursor:pointer;width:34px;height:34px;color:var(--fg-2);background:0 0;border:none;place-items:center;line-height:1;transition:background .12s,color .12s;display:grid}.portal-cal-step:first-child{border-right:1px solid var(--border-strong)}.portal-cal-step:hover{background:var(--bg-hover);color:var(--fg)}.portal-cal-period{font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.portal-cal-legend{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.portal-cal-legend-item{align-items:center;gap:7px;display:inline-flex}.portal-cal-legend-dot{background:var(--fg-nontext);border-radius:50%;flex:none;width:8px;height:8px}.portal-cal-legend-item[data-tone=live] .portal-cal-legend-dot{background:var(--primary)}.portal-cal-legend-item[data-tone=done] .portal-cal-legend-dot{background:var(--success)}.portal-cal-legend-item[data-tone=warn] .portal-cal-legend-dot{background:var(--warning)}.portal-cal-legend-item[data-tone=alert] .portal-cal-legend-dot{background:var(--error)}.portal-cal-legend-item[data-tone=neutral] .portal-cal-legend-dot{background:var(--fg-nontext)}.portal-cal-legend-item[data-session] .portal-cal-legend-dot{border:1.5px dashed var(--primary);background:0 0}.portal-cal-legend-item[data-task] .portal-cal-legend-dot{border:1.5px solid var(--fg-nontext);background:0 0;border-radius:2px}.portal-cal-legend-item[data-operator-event] .portal-cal-legend-dot{background:var(--primary)}.portal-cal-detail-open{align-self:flex-start}.portal-session-drawer{flex-direction:column;gap:20px;display:flex}.portal-session-summary{color:var(--fg-2);font-size:var(--fs-sm);margin:0;line-height:1.5}.portal-session-sec{flex-direction:column;gap:10px;display:flex}.portal-session-h{font-size:var(--fs-sm);color:var(--fg);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.portal-session-entries{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.portal-session-entry{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);flex-direction:column;gap:3px;padding:8px 10px;display:flex}.portal-session-entry-title{font-size:var(--fs-sm);color:var(--fg);font-weight:600}.portal-session-entry-meta{font-size:var(--fs-xs);color:var(--fg-dim);align-items:center;gap:8px;display:inline-flex}.portal-session-entry-summary{text-align:left;border:1px dashed var(--border);border-radius:var(--radius-sm);width:100%;color:var(--fg-2);font-size:var(--fs-xs);cursor:pointer;background:0 0;margin-top:2px;padding:6px 9px;line-height:1.55;display:block}.portal-session-entry-summary:hover:not(:disabled){border-color:var(--primary);background:var(--bg-raised)}.portal-session-entry-summary:disabled{cursor:default}.portal-session-entry-summary-lead{color:var(--primary);text-transform:uppercase;letter-spacing:.4px;font-weight:700;font-size:var(--fs-xs);margin-right:7px;display:inline-block}.portal-session-entry-summary-empty{color:var(--fg-dim);font-style:italic}.portal-work-session{border-top:1px solid var(--line-2,var(--border));padding:12px 0}.portal-work-session:first-child{border-top:none;padding-top:0}.portal-work-session-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.portal-work-session-title{font-size:var(--fs-sm);color:var(--fg);font-weight:600}.portal-work-entries{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.portal-work-entry{font-size:var(--fs-sm);color:var(--fg-2);justify-content:space-between;align-items:baseline;gap:10px;display:flex}.portal-work-media{flex-wrap:wrap;gap:8px;display:flex}.portal-work-thumb{border-radius:var(--radius-sm);border:1px solid var(--border);width:96px;height:72px;display:block;overflow:hidden}.portal-work-thumb img{object-fit:cover;width:100%;height:100%;display:block}.portal-media{flex-direction:column;gap:10px;display:flex}.portal-media-head{align-items:center;gap:10px;display:flex}.portal-media-title{font-size:var(--fs-sm);color:var(--fg);align-items:center;gap:8px;margin-right:auto;font-weight:600;display:inline-flex}.portal-media-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.portal-media-tile{flex-direction:column;gap:6px;min-width:0;display:flex;position:relative}.portal-media-share{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.portal-media-thumb{aspect-ratio:4/3;cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);justify-content:center;align-items:center;width:100%;padding:0;display:flex;overflow:hidden}.portal-media-thumb:hover{border-color:var(--primary)}.portal-media-thumb img{object-fit:cover;width:100%;height:100%}.portal-media-icon{font-size:var(--fs-2xl);color:var(--fg-dim)}.portal-media-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.portal-media-name{font-size:var(--fs-xs);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-media-sub{font-size:var(--fs-sm);color:var(--fg-dim);align-items:center;gap:6px;display:inline-flex}.portal-media-del{background:var(--bg-raised);width:22px;height:22px;color:var(--fg-dim);cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .12s;display:flex;position:absolute;top:4px;right:4px;box-shadow:0 1px 4px #00000040}.portal-media-tile:hover .portal-media-del,.portal-media-del:focus-visible{opacity:1}.portal-media-del:hover{color:var(--error)}.portal-media-lightbox{z-index:200;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.portal-media-lightbox-media{object-fit:contain;border-radius:var(--radius-sm);cursor:default;max-width:100%;max-height:100%}.portal-media-lightbox-x{color:#ffffffeb;width:36px;height:36px;font-size:var(--fs-lg);cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.portal-media-lightbox-x:hover{background:#ffffff4d}.portal-cal-chip{text-align:left;cursor:pointer;width:100%;font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);border-left:3px solid var(--fg-nontext);background:var(--bg-raised);color:var(--fg-2);align-items:baseline;gap:7px;padding:4px 8px;transition:background .12s,border-color .12s,transform 80ms;display:flex;overflow:hidden}.portal-cal-chip:hover{background:var(--bg-hover)}.portal-cal-chip:active{transform:translateY(1px)}.portal-cal-chip[data-active=true]{box-shadow:0 0 0 1px var(--primary)}.portal-cal-chip-time{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.02em;color:var(--fg-dim);flex:none;font-weight:600}.portal-cal-chip-name{font-size:var(--fs-sm);letter-spacing:-.01em;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.portal-cal-chip[data-tone=live]{border-left-color:var(--primary);background:var(--primary-soft)}.portal-cal-chip[data-tone=live] .portal-cal-chip-time{color:var(--primary-2)}.portal-cal-chip[data-tone=done]{border-left-color:var(--success);background:var(--success-soft)}.portal-cal-chip[data-tone=done] .portal-cal-chip-time{color:var(--success)}.portal-cal-chip[data-tone=warn]{border-left-color:var(--warning);background:var(--warning-soft)}.portal-cal-chip[data-tone=warn] .portal-cal-chip-time{color:var(--warning)}.portal-cal-chip[data-tone=alert]{border-left-color:var(--error);background:var(--error-soft)}.portal-cal-chip[data-tone=alert] .portal-cal-chip-time{color:var(--error)}.portal-cal-chip[data-tone=neutral]{border-left-color:var(--fg-nontext)}.portal-cal-chip[data-session=true]{border-left-style:dashed;border-left-color:var(--primary)}.portal-cal-chip[data-session=true] .portal-cal-chip-time{color:var(--primary-2)}.portal-cal-chip[data-task=true]{border-left-style:solid;border-left-width:3px}.portal-cal-chip[data-task=true] .portal-cal-chip-time{color:var(--fg-dim);font-weight:var(--fw-normal)}.portal-cal-chip[data-task=true] .portal-cal-chip-name{color:var(--fg-2)}.portal-cal-chip[data-task=true][data-tone=alert] .portal-cal-chip-name{color:var(--fg)}.portal-cal-chip[data-operator-event=true]{border-left-style:double;border-left-width:4px;border-left-color:var(--primary);background:var(--primary-soft)}.portal-cal-chip[data-operator-event=true] .portal-cal-chip-time{color:var(--primary-2)}.portal-cal-chip[data-operator-event=true] .portal-cal-chip-name{color:var(--fg)}.portal-cal-chip[data-operator-event=true][data-done=true]{background:var(--bg-raised);border-left-color:var(--fg-nontext)}.portal-cal-chip[data-operator-event=true][data-done=true] .portal-cal-chip-time{color:var(--fg-dim)}.portal-cal-chip[data-operator-event=true][data-done=true] .portal-cal-chip-name{color:var(--fg-2)}.portal-cal-month{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);overflow:hidden}.portal-cal-weekhead{border-bottom:1px solid var(--border);background:var(--bg-deep);grid-template-columns:repeat(7,1fr);display:grid}.portal-cal-weekhead-cell{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);text-align:left;border-left:1px solid var(--hairline);padding:9px 12px}.portal-cal-weekhead-cell:first-child{border-left:none}.portal-cal-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(108px,1fr);display:grid}.portal-cal-cell{border-left:1px solid var(--hairline);border-top:1px solid var(--hairline);cursor:pointer;flex-direction:column;gap:4px;min-width:0;padding:6px;transition:background .12s;display:flex;position:relative}.portal-cal-cell:nth-child(7n+1){border-left:none}.portal-cal-grid>.portal-cal-cell:nth-child(-n+7){border-top:none}.portal-cal-cell:hover{background:var(--bg-raised)}.portal-cal-cell[data-outside=true]{background:var(--bg-deep)}.portal-cal-cell[data-outside=true] .portal-cal-daynum{color:var(--fg-dim)}.portal-cal-cell[data-weekend=true]:not([data-outside=true]){background:rgba(var(--primary-rgb), .015)}.portal-cal-cell-head{justify-content:flex-end;align-items:center;display:flex}.portal-cal-daynum{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-2);padding:2px;font-weight:600;line-height:1}.portal-cal-cell[data-today=true] .portal-cal-daynum{color:var(--fg-on-primary);background:var(--primary-active);width:22px;height:22px;box-shadow:0 0 10px 0 var(--primary-glow);border-radius:50%;place-items:center;padding:0;display:grid}.portal-cal-cell-events{flex-direction:column;gap:3px;min-width:0;display:flex}.portal-cal-more{font:inherit;font-size:var(--fs-xs);cursor:pointer;text-align:left;color:var(--fg-dim);border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 8px;font-weight:600;transition:color .12s,background .12s}.portal-cal-more:hover{color:var(--primary-2);background:var(--bg-hover)}.portal-cal-overflow{z-index:30;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:180px;padding:8px;position:absolute;top:4px;left:4px;right:4px;box-shadow:0 16px 40px -16px #000000b3}.portal-cal-overflow-head{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-2);justify-content:space-between;align-items:center;padding:2px 2px 8px;font-weight:600;display:flex}.portal-cal-overflow-list{flex-direction:column;gap:4px;max-height:240px;display:flex;overflow:auto}.portal-cal-cols{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);gap:0;min-height:420px;display:grid;overflow:hidden}.portal-cal-col{border-left:1px solid var(--hairline);flex-direction:column;min-width:0;display:flex}.portal-cal-col:first-child{border-left:none}.portal-cal-col[data-weekend=true]{background:rgba(var(--primary-rgb), .015)}.portal-cal-col-head{border-bottom:1px solid var(--border);background:var(--bg-deep);align-items:center;gap:8px;padding:10px 12px;display:flex;position:relative}.portal-cal-col-head[data-today=true]{background:var(--primary-soft)}.portal-cal-col-dow{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim)}.portal-cal-col-num{font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--fg);letter-spacing:-.02em;font-weight:700}.portal-cal-col-head[data-today=true] .portal-cal-col-num,.portal-cal-col-head[data-today=true] .portal-cal-col-dow{color:var(--primary-2)}.portal-cal-col-add{cursor:pointer;width:24px;height:24px;font:inherit;font-size:var(--fs-xl);color:var(--fg-dim);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;flex:none;place-items:center;margin-left:auto;line-height:1;transition:background .12s,color .12s,border-color .12s;display:grid}.portal-cal-col-add:hover{background:var(--bg-hover);color:var(--primary-2);border-color:var(--border)}.portal-cal-col-body{cursor:pointer;flex-direction:column;flex:1;gap:5px;min-height:0;padding:8px;display:flex;overflow-y:auto}.portal-cal-col-body .portal-cal-chip{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px}.portal-cal-col-empty{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-dim);text-align:center;-webkit-user-select:none;user-select:none;padding:14px 0}.portal-cal-detail{flex-direction:column;gap:14px;display:flex}.portal-cal-detail-head{justify-content:space-between;align-items:center;display:flex}.portal-cal-detail-name{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:700;line-height:1.1}.portal-cal-detail-name a{text-decoration:none}.portal-cal-detail-name a:hover{color:var(--primary-2)}.portal-cal-detail-eng{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim);margin-top:-8px}.portal-cal-detail-grid{grid-template-columns:1fr 1fr;gap:14px;margin:0;display:grid}.portal-cal-detail-grid .span{grid-column:1/-1}.portal-cal-detail-grid dt{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:5px}.portal-cal-detail-grid dd{font-size:var(--fs-base);color:var(--fg);margin:0}.portal-cal-detail-actions{border-top:1px solid var(--hairline);justify-content:flex-end;padding-top:14px;display:flex}.portal-cal-detail-actions:empty{display:none}.portal-cal-clientlist{flex-direction:column;gap:2px;max-height:260px;margin:0 -4px;padding:0 4px;display:flex;overflow:auto}.portal-cal-clientrow{text-align:left;width:100%;font:inherit;font-size:var(--fs-base);color:var(--fg);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;padding:10px 12px;font-weight:600;transition:background .12s,border-color .12s}.portal-cal-clientrow:hover{background:var(--bg-hover);border-color:var(--border)}.portal-cal-detail-notes{font-size:var(--fs-base);color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.55}.portal-anchor-hits{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);flex-direction:column;gap:2px;max-height:200px;margin-top:6px;padding:4px;display:flex;overflow-y:auto}.portal-anchor-hit{text-align:left;width:100%;font:inherit;cursor:pointer;border-radius:var(--radius-sm);color:var(--fg);background:0 0;border:1px solid #0000;align-items:baseline;gap:8px;padding:7px 9px;transition:background .12s,border-color .12s;display:flex}.portal-anchor-hit:hover{background:var(--bg-hover);border-color:var(--border)}.portal-anchor-hit-name{font-size:var(--fs-base);font-weight:600}.portal-anchor-hit-sub{font-size:var(--fs-sm);color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:880px){.portal-cal-grid{grid-auto-rows:minmax(76px,1fr)}.portal-cal-chip-name{font-size:var(--fs-xs)}.portal-cal-period{font-size:var(--fs-lg)}.portal-cal-bar{gap:10px}.portal-cal-cols{min-height:320px}}.portal-asst{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);flex:1;grid-template-columns:336px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.portal-asst-topactions{align-items:center;gap:var(--sp-xs);display:flex}.portal-asst-flash{margin:0 0 var(--sp-xs);font-size:var(--fs-sm);color:var(--fg-2)}.portal-asst-index{border-right:1px solid var(--border);background:var(--bg-secondary);flex-direction:column;min-height:0;display:flex}.portal-asst-index-head{gap:var(--sp-xs);padding:var(--sp-sm);border-bottom:1px solid var(--border);background:var(--bg-panel);flex-direction:column;flex:none;display:flex}.portal-asst-index-actions{gap:var(--sp-2xs);grid-template-columns:1fr 1fr;display:grid}.portal-asst-index-actions>*{min-width:0}.portal-asst-action-wide{grid-column:1/-1}.portal-asst-seg{display:flex}.portal-asst-seg .portal-seg-btn{padding:0 var(--sp-2xs);justify-content:center;gap:var(--sp-3xs);flex:1}.portal-asst-list{flex:1;min-height:0;overflow-y:auto}.portal-asst-list-empty{padding:var(--sp-lg) var(--sp-sm);font-size:var(--fs-sm);color:var(--fg-dim);line-height:1.6}.portal-asst-list-empty p{margin:0 0 var(--sp-xs)}.portal-asst-list-broken{padding:var(--sp-xs) var(--sp-sm);border-bottom:1px solid var(--warning-edge);background:var(--warning-light);font-size:var(--fs-sm);color:var(--fg);margin:0;line-height:1.5}.portal-asst-daymark{z-index:2;padding:var(--sp-2xs) var(--sp-sm);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2);background:var(--bg-raised);border-bottom:1px solid var(--border);margin:0;position:sticky;top:0}.portal-asst-group-list{margin:0;padding:0;list-style:none}.portal-asst-item{gap:var(--sp-xs);text-align:left;width:100%;padding:var(--sp-xs) var(--sp-sm);border:0;border-bottom:1px solid var(--hairline);color:inherit;font:inherit;cursor:pointer;transition:background var(--t-fast,.12s);background:0 0;grid-template-columns:8px minmax(0,1fr);display:grid}.portal-asst-item:hover{background:var(--bg-hover)}.portal-asst-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-asst-item[data-selected=true]{background:var(--primary-subtle);box-shadow:inset 2px 0 0 var(--primary)}.portal-asst-item-dot{background:0 0;border-radius:50%;width:8px;height:8px;margin-top:5px}.portal-asst-item[data-unread=true] .portal-asst-item-dot{background:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-subtle)}.portal-asst-item-main{gap:var(--sp-4xs);flex-direction:column;min-width:0;display:flex}.portal-asst-item-top{align-items:baseline;gap:var(--sp-xs);min-width:0;display:flex}.portal-asst-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-base);color:var(--fg-2);flex:1;overflow:hidden}.portal-asst-item[data-type=run] .portal-asst-item-title{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.01em}.portal-asst-item[data-type=draft] .portal-asst-item-dot{box-shadow:inset 0 0 0 2px var(--primary-edge);background:0 0}.portal-asst-item[data-type=draft] .portal-asst-item-title,.portal-asst-item[data-unread=true] .portal-asst-item-title{color:var(--fg);font-weight:var(--fw-medium)}.portal-asst-item-when{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none}.portal-asst-item-preview{-webkit-line-clamp:2;font-size:var(--fs-sm);color:var(--fg-dim);-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.portal-asst-item-tags{align-items:center;gap:var(--sp-3xs);margin-top:var(--sp-4xs);flex-wrap:wrap;display:flex}.portal-asst-item-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim)}.portal-asst-tag{padding:1px var(--sp-3xs);border:1px solid var(--border-strong);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.02em;color:var(--fg-2);align-items:center;display:inline-flex}.portal-asst-tag[data-tone=live]{border-color:var(--primary-edge);background:var(--primary-light);color:var(--fg)}.portal-asst-tag[data-tone=warn]{border-color:var(--warning-edge);background:var(--warning-light);color:var(--fg)}.portal-asst-tag[data-tone=alert]{border-color:var(--error-edge);background:var(--error-light);color:var(--fg)}.portal-asst-unread{padding:1px var(--sp-3xs);border-radius:var(--radius-pill);background:var(--primary);color:var(--color-white);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);align-items:center;display:inline-flex}.portal-asst-stage{background:var(--bg-panel);flex-direction:column;min-height:0;display:flex}.portal-asst-stage-head{align-items:flex-start;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-panel);border-bottom:1px solid var(--border);flex:none;display:flex}.portal-asst-stage-title{flex:1;min-width:0}.portal-asst-stage-h{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.portal-asst-stage-meta{align-items:center;gap:var(--sp-xs);margin:var(--sp-3xs) 0 0;font-size:var(--fs-sm);color:var(--fg-dim);flex-wrap:wrap;display:flex}.portal-asst-stage-model{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2)}.portal-asst-back{align-items:center;gap:var(--sp-3xs);min-height:var(--ctl-h-sm);padding:0 var(--sp-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--fg-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;flex:none;display:none}.portal-asst-back:hover{background:var(--bg-hover);color:var(--fg)}.portal-asst-log{gap:var(--sp-sm);min-height:0;padding:var(--sp-md) var(--sp-panel) var(--sp-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.portal-asst-opening{max-width:68ch;margin:var(--sp-md) 0}.portal-asst-opening-h{margin:0 0 var(--sp-xs);font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--fg)}.portal-asst-opening-p{font-size:var(--fs-base);color:var(--fg-2);margin:0;line-height:1.65}.portal-asst-opening-list{margin:var(--sp-md) 0 0;gap:var(--sp-2xs);flex-direction:column;padding:0;list-style:none;display:flex}.portal-asst-opening-list li{padding:var(--sp-2xs) var(--sp-sm);border-left:2px solid var(--primary-edge);font-size:var(--fs-base);color:var(--fg-dim)}.portal-asst-day{align-items:center;gap:var(--sp-sm);margin:var(--sp-xs) 0;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim);display:flex}.portal-asst-day:before,.portal-asst-day:after{content:"";background:var(--border);flex:1;height:1px}.portal-asst-msg{max-width:82ch}.portal-asst-msg[data-from=operator]{max-width:min(60ch,84%);padding:var(--sp-xs) var(--sp-sm);border:1px solid var(--primary-edge);background:var(--primary-light);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-xs) var(--radius-lg);align-self:flex-end}.portal-asst-msg[data-from=assistant]{padding:var(--sp-4xs) 0 var(--sp-4xs) var(--sp-sm);border-left:2px solid var(--border-hover);align-self:flex-start}.portal-asst-msg[data-pending=true]{opacity:.6}.portal-asst-body{font-size:var(--fs-base);color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.65}.portal-asst-when{margin-top:var(--sp-3xs);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);display:block}.portal-asst-steps{align-self:flex-start;max-width:82ch}.portal-asst-steps-toggle{align-items:center;gap:var(--sp-3xs);min-height:var(--ctl-h-sm);padding:0 var(--sp-2xs) 0 0;color:var(--fg-dim);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;display:inline-flex}.portal-asst-steps-toggle:hover{color:var(--fg-2)}.portal-asst-steps-chevron{transition:transform var(--t-base);display:inline-block}.portal-asst-steps[data-open=true] .portal-asst-steps-chevron{transform:rotate(90deg)}.portal-asst-steps-list{margin:0 0 0 var(--sp-xs);padding:var(--sp-2xs) 0 var(--sp-2xs) var(--sp-sm);border-left:1px solid var(--border);gap:var(--sp-3xs);font-size:var(--fs-sm);color:var(--fg-2);flex-direction:column;list-style:none;display:flex}.portal-asst-steps-detail{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);overflow-wrap:anywhere;display:block}.portal-asst-note{max-width:82ch;padding-left:var(--sp-sm);border-left:2px solid var(--border);font-size:var(--fs-sm);color:var(--fg-dim);align-self:flex-start;margin:0}.portal-asst-note[data-kind=ok]{border-left-color:var(--success-edge);color:var(--fg-2)}.portal-asst-note[data-kind=no]{border-left-color:var(--warning-edge);color:var(--fg-2)}.portal-asst-note[data-kind=ask]{border-left-color:var(--warning-edge)}.portal-asst-note[data-kind=sys]{border-left-color:var(--border-hover);font-style:italic}.portal-asst-approval{max-width:72ch;padding:var(--sp-sm) var(--sp-md);border:1px solid var(--warning-edge);border-radius:var(--radius-md);background:var(--warning-light);align-self:flex-start}.portal-asst-approval-head{margin:0 0 var(--sp-3xs);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--warning)}.portal-asst-approval-what{font-size:var(--fs-base);color:var(--fg);margin:0}.portal-asst-approval-detail{margin:var(--sp-2xs) 0 0;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-2);overflow-wrap:anywhere}.portal-asst-approval-actions{gap:var(--sp-xs);margin-top:var(--sp-sm);display:flex}.portal-asst-activity{align-items:center;gap:var(--sp-2xs);font-size:var(--fs-sm);color:var(--fg-dim);margin:0;display:flex}.portal-asst-activity[data-tone=warn]{color:var(--warning)}.portal-asst-pulse{background:var(--primary-hover);border-radius:50%;flex:none;width:7px;height:7px;animation:1.4s ease-in-out infinite portal-asst-breathe}@keyframes portal-asst-breathe{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.portal-asst-pulse{opacity:1;animation:none}.portal-asst-steps-chevron{transition:none}}.portal-asst-composer{padding:var(--sp-sm) var(--sp-panel) var(--sp-md);border-top:1px solid var(--border);background:var(--bg-panel);flex:none}.portal-asst-senderror{margin:0 0 var(--sp-2xs);font-size:var(--fs-sm);color:var(--warning)}.portal-asst-input{resize:none;width:100%;padding:var(--sp-xs) var(--sp-sm);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-deep);color:var(--fg);font-family:inherit;font-size:var(--fs-base);line-height:1.55}.portal-asst-input:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.portal-asst-input:disabled{opacity:.6}.portal-asst-composer-actions{justify-content:space-between;align-items:center;gap:var(--sp-xs);margin-top:var(--sp-xs);display:flex}.portal-asst-hint{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim)}.portal-asst-stage-about{color:var(--fg-2)}.portal-asst-report{max-width:82ch;margin:0 0 var(--sp-xs);padding-bottom:var(--sp-md);border-bottom:1px solid var(--border);align-self:stretch}.portal-asst-report>*{max-width:82ch}.portal-asst-facts{gap:var(--sp-sm);margin:0 0 var(--sp-lg);padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.portal-asst-fact dt{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2)}.portal-asst-fact dd{margin:var(--sp-4xs) 0 0;font-size:var(--fs-lg);color:var(--fg);font-variant-numeric:tabular-nums}.portal-asst-failure{margin:0 0 var(--sp-lg);padding:var(--sp-sm) var(--sp-md);border:1px solid var(--error-edge);border-radius:var(--radius-md);background:var(--error-light)}.portal-asst-failure-h{margin:0 0 var(--sp-3xs);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--error)}.portal-asst-failure-body{font-size:var(--fs-base);color:var(--fg);overflow-wrap:anywhere;margin:0;line-height:1.6}.portal-asst-digest{max-width:78ch}.portal-asst-digest-p{margin:0 0 var(--sp-sm);font-size:var(--fs-base);color:var(--fg-2);line-height:1.7}.portal-asst-digest-h{margin:var(--sp-lg) 0 var(--sp-xs);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg)}.portal-asst-digest-h:first-child{margin-top:0}.portal-asst-digest-list{margin:0 0 var(--sp-sm);padding-left:var(--sp-md);font-size:var(--fs-base);color:var(--fg-2);line-height:1.7;list-style:outside}.portal-asst-digest-list li{margin-bottom:var(--sp-3xs)}.portal-asst-code{border-radius:var(--radius-xs);background:var(--bg-deep);font-family:var(--font-mono);color:var(--fg);padding:1px 3px;font-size:.92em}.portal-asst-digest .portal-link{overflow-wrap:anywhere;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.portal-asst-digest .portal-link:hover{text-decoration-thickness:2px}.portal-asst-doccards{gap:var(--sp-2xs);margin-top:var(--sp-sm);flex-direction:column;max-width:78ch;display:flex}.portal-asst-doccard{gap:var(--sp-sm);padding:var(--sp-2xs);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);align-items:center;display:flex}.portal-asst-doccard--loading{opacity:.5;min-height:76px}.portal-asst-doccard-shot{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-deep);cursor:zoom-in;flex:none;padding:0;line-height:0;overflow:hidden}.portal-asst-doccard-shot img{object-fit:cover;width:116px;height:88px;display:block}.portal-asst-doccard-shot:hover{border-color:var(--border-strong)}.portal-asst-doccard-body{gap:var(--sp-4xs);flex-direction:column;min-width:0;display:flex}.portal-asst-doccard-title{color:var(--fg);font-weight:var(--fw-semibold);overflow-wrap:anywhere;text-decoration:none}.portal-asst-doccard-title:hover{text-decoration:underline}.portal-asst-doccard-meta{color:var(--fg-dim);font-size:var(--fs-sm)}.portal-asst-doccard-acts{gap:var(--sp-2xs);margin-top:var(--sp-4xs);display:flex}.portal-asst-msg .portal-asst-digest-p,.portal-asst-msg .portal-asst-digest-list{color:var(--fg)}.portal-asst-msg .portal-asst-digest>:last-child{margin-bottom:0}.portal-asst-msg .portal-asst-digest-h:first-child{margin-top:0}.portal-asst-needs{align-items:baseline;gap:var(--sp-sm);margin:var(--sp-lg) 0 0;padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-md);border:1px solid;display:flex}.portal-asst-needs[data-tone=clear]{border-color:var(--success-edge);background:var(--success-light)}.portal-asst-needs[data-tone=action]{border-color:var(--warning-edge);background:var(--warning-light)}.portal-asst-needs-label{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;flex:none}.portal-asst-needs[data-tone=clear] .portal-asst-needs-label{color:var(--success)}.portal-asst-needs[data-tone=action] .portal-asst-needs-label{color:var(--warning)}.portal-asst-needs-body{font-size:var(--fs-base);color:var(--fg);line-height:1.6}.portal-asst-empty{align-items:center;gap:var(--sp-2xs);font-size:var(--fs-sm);color:var(--fg-dim);margin:0;display:flex}.portal-asst-blank{justify-content:center;align-items:flex-start;gap:var(--sp-sm);max-width:58ch;min-height:0;padding:var(--sp-xl) var(--sp-panel);flex-direction:column;flex:1;margin:0 auto;display:flex}.portal-asst-blank-h{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--fg);margin:0}.portal-asst-blank-p{font-size:var(--fs-base);color:var(--fg-dim);margin:0;line-height:1.65}.portal-asst-blank-note{font-size:var(--fs-sm);color:var(--fg-2);margin:0}@media (max-width:900px){.portal-asst{grid-template-columns:minmax(0,1fr)}.portal-asst[data-pane=stage] .portal-asst-index,.portal-asst[data-pane=index] .portal-asst-stage{display:none}.portal-asst-back{display:inline-flex}.portal-asst-stage-head,.portal-asst-log,.portal-asst-composer{padding-left:var(--sp-sm);padding-right:var(--sp-sm)}}.portal-dash-kpis{grid-template-columns:repeat(auto-fit, minmax(var(--tile-min), 1fr));gap:12px;display:grid}.portal-kpi{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--bg-panel);color:inherit;padding:16px 18px;text-decoration:none;transition:border-color .12s,background .12s;display:block}.portal-kpi:hover{border-color:var(--border-strong);background:var(--bg-hover)}.portal-kpi-label{font-family:var(--font-mono);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-2)}.portal-kpi-value{font-size:var(--fs-4xl);letter-spacing:-.02em;margin:6px 0 2px;font-weight:700}.portal-kpi-sub{font-size:var(--fs-sm);color:var(--fg-dim)}.portal-kpi:has(.portal-kpi-breakdown):hover{border-color:var(--hairline);background:var(--bg-panel)}.portal-kpi-breakdown{margin:var(--sp-xs) 0 0;padding:var(--sp-xs) 0 0;border-top:1px solid var(--hairline);list-style:none}.portal-kpi-breakdown li+li{margin-top:1px}.portal-kpi-breakdown a{align-items:center;gap:var(--sp-2xs);min-height:var(--ctl-h-sm);padding:0 var(--sp-2xs);margin:0 calc(var(--sp-2xs) * -1);border-radius:var(--radius-xs);font-size:var(--fs-sm);color:var(--fg-2);transition:background var(--t-fast), color var(--t-fast);text-decoration:none;display:flex}.portal-kpi-breakdown a:hover{background:var(--bg-hover);color:var(--fg)}.portal-kpi-breakdown a:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-kpi-breakdown-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.portal-kpi-breakdown-n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--warning);flex:none}.portal-kpi-breakdown-n[data-tone=alert]{color:var(--error)}.portal-kpi-sub[data-tone=warn]{color:var(--warning)}.portal-kpi-sub[data-tone=alert]{color:var(--error)}.portal-kpi-sub[data-tone=done]{color:var(--success)}.portal-kpi-sub[data-tone=live]{color:var(--primary-2)}.portal-dash-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.portal-dash-go{color:var(--fg-dim);font-size:var(--fs-lg)}.portal-bars{align-items:flex-end;gap:8px;height:140px;padding-top:8px;display:flex}.portal-bar-col{flex-direction:column;flex:1;align-items:center;gap:6px;height:100%;display:flex}.portal-bar-stack{flex-direction:column;flex:1;justify-content:flex-end;width:100%;max-width:34px;display:flex}.portal-bar-seg{border-radius:3px 3px 0 0;width:100%;min-height:2px}.portal-bar-seg+.portal-bar-seg{border-radius:0}.portal-bar-seg[data-tone=done]{background:var(--success)}.portal-bar-seg[data-tone=warn]{background:var(--warning)}.portal-bar-seg[data-tone=live]{background:var(--primary)}.portal-bar-x{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim)}.portal-bar-legend{border-top:1px solid var(--hairline);align-items:center;gap:14px;margin-top:12px;padding-top:10px;display:flex}.portal-bar-legend-item{font-size:var(--fs-xs);color:var(--fg-dim);align-items:center;gap:6px;display:inline-flex}.portal-bar-legend-dot{border-radius:2px;width:8px;height:8px}.portal-bar-legend-dot[data-tone=done]{background:var(--success)}.portal-bar-legend-dot[data-tone=warn]{background:var(--warning)}.portal-bar-legend-dot[data-tone=live]{background:var(--primary)}.portal-bar-legend-peak{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim)}@media (max-width:860px){.portal-dash-grid{grid-template-columns:1fr}}.portal-combobox{position:relative}.portal-combobox-list{z-index:40;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);max-height:320px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000047}.portal-combobox-list[data-fixed=true]{z-index:60;position:fixed;inset:auto}.portal-combobox-empty{color:var(--fg-dim);font-size:var(--fs-sm);padding:12px 10px}.portal-combobox-row{text-align:left;border-radius:var(--radius);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:8px 10px;display:flex}.portal-combobox-row[data-active=true]{background:var(--bg-hover)}.portal-combobox-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.portal-combobox-row-name{font-size:var(--fs-base);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.portal-combobox-row-sub{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-combobox-row-price{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-2);flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.portal-combobox-row-src{font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}.portal-report{display:block}.portal-report-back{margin-bottom:14px}@media (max-width:880px){.portal-railtrigger{z-index:71;position:fixed;top:6px;left:10px}.portal-topbar{padding-left:calc(var(--ctl-h) + 20px)}}@media (max-width:767px){.portal-ch-top{flex-wrap:wrap}.portal-ch-id,.portal-ch-actions{flex:100%}.portal-ch-actions>*{flex:1}.portal-ch-name{font-size:var(--fs-2xl);line-height:1.15}.portal-client-head{margin:0;padding:0;position:static;top:auto}.portal-tabs{gap:0 var(--sp-sm);flex-wrap:wrap;overflow-x:visible}.portal-tab{padding:9px 2px 10px}.portal-toolbar,.portal-datagrid-cardcontrols{flex-wrap:wrap}.portal-datagrid-cardcontrols .portal-datagrid-search{flex:100%}.portal-datagrid-cardsort{gap:var(--sp-2xs);flex:auto;display:flex}.portal-datagrid-cardsort .portal-listbox-wrap{flex:1;min-width:0}.portal-datagrid-cardsort .portal-listbox-wrap .portal-select{width:100%}.portal-datagrid-cardsort>button{flex:none}.portal-panel-head{flex-wrap:wrap}.portal-panel-heading{flex:100%}.portal-page-head{flex-wrap:wrap;align-items:flex-start}.portal-page-head-action{width:100%}.portal-kpis{grid-template-columns:1fr 1fr;display:grid}.portal-kpi{border-left:1px solid var(--hairline);flex:none}.portal-kpi:nth-child(odd){border-left:none}.portal-kpi:nth-child(n+3){border-top:1px solid var(--hairline)}.portal-kpi .v{font-size:var(--fs-xl)}.portal-crumb{flex-wrap:wrap}.portal-row-name,.portal-datagrid-cardtitle{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}.portal-datagrid-cardline{align-items:flex-start}.portal-datagrid-cardstatus{margin-top:1px}.portal-datagrid td .portal-row-name{-webkit-line-clamp:1}.portal-root{--tile-min:150px;--lane-w:84vw;--lane-max-h:none}.portal-kanban-swimhead>.portal-datagrid-group,.portal-kanban-swimhead>.portal-datagrid-grouplink{min-height:var(--touch-target-min)}.portal-kanban-strip{scroll-snap-type:x mandatory}.portal-kanban-lane{scroll-snap-align:start}.portal-datagrid-toolsplit{display:none}.portal-kanban-lanebody{scroll-snap-type:none;max-height:none;overflow-y:visible}.portal-kanban-lane:after,.portal-kanban-lane:before{display:none}.portal-kanban-card .portal-pickicon{opacity:1}.portal-kpi{padding:12px 14px}.portal-kpi-value{font-size:var(--fs-2xl);margin:4px 0 2px}.portal-kpi-label{font-size:var(--fs-sm);letter-spacing:.06em}.portal-kpi-sub{font-size:var(--fs-xs)}.portal-main,.portal-panel{padding:14px}.portal-modal-backdrop{align-items:flex-end;padding:0}.portal-modal{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;width:100%;max-width:none;max-height:calc(100dvh - var(--sp-2xl));padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));margin:0}.portal-modal-actions{flex-direction:column-reverse}.portal-modal-actions>*{width:100%}.portal-popover-x{width:var(--ctl-h);height:var(--ctl-h)}.portal-h>*,.portal-v>*{min-width:0}.portal-select,.portal-input{max-width:100%}.portal-linkbtn{min-height:var(--touch-target-min);align-items:center;padding:0;display:inline-flex}.portal-cal-step{width:var(--ctl-h);height:var(--ctl-h)}.portal-check,.portal-main input[type=checkbox],.portal-main input[type=radio]{width:20px;height:20px}.portal-checkrow,.portal-consent{min-height:var(--touch-target-min);align-items:center}.portal-main label:has(input[type=checkbox]){min-height:var(--touch-target-min);align-items:center}.portal-main label:has(input[type=radio]){min-height:var(--touch-target-min);align-items:center}.portal-cell-id .id-name{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}.portal-cal-count{border-radius:var(--radius-pill);background:var(--primary-light);border:1px solid var(--primary-edge);min-width:26px;height:26px;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--fg);place-items:center;margin:2px auto 0;padding:0 7px;line-height:1;display:inline-grid}.portal-cal-cell{min-height:62px}.portal-cal-cell-events{align-items:center}.portal-cal-overflow{inset:auto var(--sp-sm) var(--sp-sm);z-index:62;width:auto;max-height:70vh;box-shadow:var(--shadow-xl);position:fixed;overflow-y:auto}}@media print{.portal-rail,.portal-topbar,.no-print{display:none!important}.portal-shell{display:block!important}.portal-main{max-width:none!important;margin:0!important;padding:0!important}}
