.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;--print-paper:var(--color-white);--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:#5b9df9;--accent-light:#5b9df924;--accent-edge:#5b9df94d;--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:#8ab8ff;--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;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--dock-h:58px;--dock-lift:16px;--dock-slot-stack:calc(24px + var(--sp-4xs) + 11px);--gauge-bleed:32px;--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}}.tier-phone{display:none}.tier-not-phone{display:contents}@media (max-width:767px),(max-height:767px) and (max-width:1199px) and (pointer:coarse){.tier-phone{display:contents}.tier-not-phone{display:none}}.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}.portal-iris-dock{--iris-size:46px;--iris-inset:18px;--iris-x:1;--iris-y:1;z-index:55;left:calc(var(--iris-inset) + var(--iris-x) * (100% - var(--iris-size) - var(--iris-inset) * 2));top:calc(var(--iris-inset) + var(--iris-y) * (100% - var(--iris-size) - var(--iris-inset) * 2));width:var(--iris-size);height:var(--iris-size);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:left .34s cubic-bezier(.22,1,.36,1),top .34s cubic-bezier(.22,1,.36,1);position:fixed}.portal-iris-dock[data-dragging]{transition:none}.portal-iris{border:1px solid var(--border-strong);background:radial-gradient(120% 120% at 50% 0%, rgba(var(--primary-rgb), .16), transparent 62%), var(--bg-raised);width:100%;height:100%;box-shadow:var(--shadow-lg), inset 0 1px 0 var(--surface-overlay);color:var(--fg-2);cursor:grab;touch-action:none;transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast);border-radius:50%;place-items:center;text-decoration:none;display:grid;position:relative}.portal-iris:hover{border-color:var(--primary-edge);transform:scale(1.04)}.portal-iris:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.portal-iris-dock[data-dragging] .portal-iris{cursor:grabbing;box-shadow:var(--shadow-xl), inset 0 1px 0 var(--surface-overlay);border-color:var(--primary-edge);transform:scale(1.08)}.portal-iris:before{content:"";background:conic-gradient(from 0deg, transparent 0 58%, var(--primary-hover) 80%, transparent 94%);-webkit-mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);-webkit-mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);-webkit-mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);-webkit-mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);opacity:0;pointer-events:none;border-radius:50%;transition:opacity .22s;position:absolute;inset:-3px}.portal-iris:hover:before,.portal-iris:focus-visible:before{opacity:.55}.portal-iris[data-unread=true]:before{opacity:1;animation:6s linear infinite portal-iris-sweep}.portal-iris[data-unread=true] .portal-iris-mark{filter:drop-shadow(0 0 6px var(--primary-edge))}@keyframes portal-iris-sweep{to{transform:rotate(360deg)}}.portal-iris-mark{pointer-events:none;width:24px;height:24px;display:block}.portal-iris-count{border-radius:var(--radius-pill);border:2px solid var(--bg-panel);background:var(--primary);min-width:18px;height:18px;color:var(--color-white);font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 5px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-2px;right:-2px}.portal-iris-card{z-index:1;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-raised);width:236px;box-shadow:var(--shadow-xl);opacity:0;visibility:hidden;pointer-events:none;gap:5px;padding:11px 12px 10px;transition:opacity .14s,transform .14s,visibility .14s;display:grid;position:absolute;transform:translateY(3px)}.portal-iris-dock[data-side=left] .portal-iris-card{right:calc(100% + 10px)}.portal-iris-dock[data-side=right] .portal-iris-card{left:calc(100% + 10px)}.portal-iris-dock[data-vpin=bottom] .portal-iris-card{bottom:-7px}.portal-iris-dock[data-vpin=top] .portal-iris-card{top:-7px}.portal-iris:focus-visible .portal-iris-card{opacity:1;visibility:visible;transform:none}@media (hover:hover){.portal-iris:hover .portal-iris-card{opacity:1;visibility:visible;transform:none}}.portal-iris-dock[data-dragging] .portal-iris-card{opacity:0;visibility:hidden}.portal-iris-cardhead{justify-content:space-between;align-items:center;gap:var(--sp-2xs);display:flex}.portal-iris-cardname{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.14em;color:var(--fg)}.portal-iris-cardunread{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--primary-hover);font-variant-numeric:tabular-nums}.portal-iris-cardsub{font-size:var(--fs-sm);color:var(--fg-dim);line-height:1.45}.portal-iris-cardhint{border-top:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--fg-dim);margin-top:2px;padding-top:7px}@media (prefers-reduced-motion:reduce){.portal-iris-dock{transition:none}.portal-iris:hover,.portal-iris-dock[data-dragging] .portal-iris{transform:none}.portal-iris[data-unread=true]:before{animation:none}}@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%}}@media (max-width:767px){.portal-iris-dock{--iris-size:52px}.portal-iris-mark{width:27px;height:27px}.portal-iris-card{width:min(236px,100vw - 96px)}}.portal-dock{z-index:58;height:calc(var(--dock-h) + var(--safe-bottom));padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);background:linear-gradient(0deg, var(--bg-deep), var(--bg-panel));border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);align-items:end;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px -12px #000c}.portal-dock[data-slots="4"]{grid-template-columns:repeat(4,1fr)}.portal-dock:before{content:"";height:calc(var(--dock-lift) + var(--sp-sm));background:linear-gradient(to top, var(--bg-deep), transparent);pointer-events:none;position:absolute;bottom:100%;left:0;right:0}.portal-dock[data-index-open=true]{z-index:67}.portal-dock-grab{border-radius:var(--radius-pill);background:var(--fg-dim);opacity:.4;width:32px;height:4px;margin-left:-16px;position:absolute;top:5px;left:50%}.portal-dock-slot{justify-content:center;align-items:center;gap:var(--sp-4xs);height:var(--dock-h);cursor:pointer;color:var(--fg-dim);font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.01em;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color var(--t-base);background:0 0;border:0;flex-direction:column;display:flex}.portal-dock-slot[data-active=true]{color:var(--fg)}.portal-dock-glyph{place-items:center;width:24px;height:24px;display:grid;position:relative}.portal-dock-glyph svg{width:20px;height:20px}.portal-dock-dot{border-radius:var(--radius-pill);background:var(--primary-hover);width:7px;height:7px;box-shadow:0 0 0 2px var(--bg-panel);position:absolute;top:-1px;right:-1px}.portal-dock-label{line-height:1}.portal-dock-slot[data-more] .portal-dock-glyph{transition:transform var(--t-base);transform:rotate(180deg)}.portal-dock-slot[data-more][data-open=true] .portal-dock-glyph{transform:rotate(0)}.portal-dock-slot[data-more][data-open=true]{color:var(--fg)}.portal-dock-iris{height:var(--dock-h);padding-bottom:calc((var(--dock-h) - var(--dock-slot-stack)) / 2);color:var(--fg-dim);font-family:inherit;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:relative}.portal-dock-iris[data-active=true]{color:var(--fg)}.portal-dock-disc{top:calc(var(--dock-lift) * -1);border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:radial-gradient(120% 120% at 50% 0%, var(--bg-hover), var(--bg-panel));width:46px;height:46px;box-shadow:var(--shadow-xl), inset 0 1px 0 var(--surface-overlay);transition:transform var(--t-base), border-color var(--t-base);place-items:center;display:grid;position:absolute;left:50%;transform:translate(-50%)}.portal-dock-iris:active .portal-dock-disc{transform:translate(-50%)scale(.94)}.portal-dock-iris[data-active=true] .portal-dock-disc{border-color:var(--primary-edge)}.portal-dock-disc:before{content:"";border-radius:inherit;background:conic-gradient(from 0deg, transparent 0 58%, var(--primary-hover) 80%, transparent 94%);-webkit-mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);-webkit-mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);-webkit-mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);-webkit-mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);mask:radial-gradient(closest-side, transparent 0 86%, var(--color-white) 87%);opacity:0;transition:opacity var(--t-base);pointer-events:none;position:absolute;inset:-1px}.portal-dock-iris[data-unread=true] .portal-dock-disc:before{opacity:1;animation:6s linear infinite portal-iris-sweep}.portal-dock-iris[data-unread=true] .portal-dock-mark{filter:drop-shadow(0 0 6px var(--primary-edge))}.portal-dock-mark{width:26px;height:26px}.portal-dock-scrim{z-index:65;background:var(--scrim);animation:portal-dock-fade var(--t-base) both;position:fixed;inset:0}.portal-dock-index{z-index:66;left:0;right:0;bottom:calc(var(--dock-h) + var(--safe-bottom));border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-top:1px solid var(--border);background:var(--bg-panel);max-height:74dvh;box-shadow:var(--shadow-xl);animation:portal-dock-rise var(--t-base) both;flex-direction:column;display:flex;position:fixed}.portal-dock-index:focus{outline:none}.portal-dock-index-grab{height:var(--touch-target-min);cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:none;place-items:center;display:grid}.portal-dock-index-grab>span{border-radius:var(--radius-pill);background:var(--fg-dim);opacity:.45;width:36px;height:4px;display:block}.portal-dock-index-scroll{overscroll-behavior:contain;padding:0 var(--sp-sm) calc(var(--sp-md) + var(--dock-lift));overflow-y:auto}.portal-dock-index-group+.portal-dock-index-group{margin-top:var(--sp-md)}.portal-dock-index-search{margin-bottom:var(--sp-md)}.portal-dock-index-search .portal-cmdk-trigger{width:100%;min-height:var(--touch-target-min);justify-content:flex-start}.portal-dock-index-head{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);padding:var(--sp-xs) var(--sp-2xs) var(--sp-3xs)}.portal-dock-index-items{gap:var(--sp-3xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portal-dock-index-item{align-items:center;gap:var(--sp-xs);min-height:var(--touch-target-min);padding:0 var(--sp-xs);border-radius:var(--radius-md);background:var(--bg-raised);color:var(--fg-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--t-base), color var(--t-base);display:flex}.portal-dock-index-item:active{background:var(--bg-hover)}.portal-dock-index-item[data-active=true]{background:var(--primary-subtle);color:var(--fg)}.portal-dock-index-item[data-active=true] .portal-dock-index-glyph{color:var(--primary-hover)}.portal-dock-index-glyph{width:18px;color:var(--fg-dim);flex:none;place-items:center;display:grid}.portal-dock-index-glyph svg{width:16px;height:16px}.portal-dock-index-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.portal-dock-index-count{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--primary-hover);font-variant-numeric:tabular-nums}@keyframes portal-dock-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes portal-dock-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.portal-dock-index,.portal-dock-scrim,.portal-dock-iris[data-unread=true] .portal-dock-disc:before{animation:none}.portal-dock-slot,.portal-dock-disc,.portal-dock-index-item{transition:none}}.portal-snackbar-region{z-index:68;left:0;right:0;bottom:calc(var(--dock-h) + var(--dock-lift) + var(--safe-bottom) + var(--sp-xs));padding:0 var(--sp-md);pointer-events:none;justify-content:center;display:flex;position:fixed}.portal-snackbar{pointer-events:auto;align-items:center;gap:var(--sp-sm);width:100%;max-width:420px;min-height:var(--touch-target-min);padding:var(--sp-2xs) var(--sp-2xs) var(--sp-2xs) var(--sp-sm);border-radius:var(--radius-xl);border:1px solid var(--border-strong);background:var(--bg-raised);box-shadow:var(--shadow-xl);font-size:var(--fs-base);color:var(--fg);animation:portal-dock-rise var(--t-base);transform:translateX(var(--snack-drag,0px));transition:transform var(--t-base);touch-action:pan-y;display:flex}.portal-snackbar[data-swiping=true]{transition:none}.portal-snackbar[data-tone=done],.portal-snackbar[data-tone=warn],.portal-snackbar[data-tone=alert]{padding-left:var(--sp-md)}.portal-snackbar[data-tone=done]:before,.portal-snackbar[data-tone=warn]:before,.portal-snackbar[data-tone=alert]:before{content:"";background:var(--snack-tone);border-radius:50%;flex:none;width:8px;height:8px}.portal-snackbar[data-tone=done]{--snack-tone:var(--success)}.portal-snackbar[data-tone=warn]{--snack-tone:var(--warning)}.portal-snackbar[data-tone=alert]{--snack-tone:var(--danger)}.portal-snackbar-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.portal-snackbar-action{height:var(--ctl-h);padding:0 var(--sp-sm);border-radius:var(--radius-md);color:var(--primary-hover);font-size:var(--fs-base);font-weight:var(--fw-bold);white-space:nowrap;background:0 0;flex:none}.portal-snackbar-action:active{background:var(--bg-hover)}@media (min-width:768px){.portal-snackbar-region{bottom:var(--sp-lg)}}@media (prefers-reduced-motion:reduce){.portal-snackbar{transition:none;animation:none}}.portal-main{grid-column:2;min-width:0;min-height:0;padding:32px;position:relative;overflow:hidden auto}.portal-ptr{z-index:5;pointer-events:none;justify-content:center;height:0;display:flex;position:sticky;top:0}.portal-ptr-puck{border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--bg-raised);width:34px;height:34px;box-shadow:var(--shadow-lg);transform:translateY(calc(var(--ptr-pull,0px) - 44px));opacity:var(--ptr-progress,0);transition:transform var(--t-base), opacity var(--t-base);place-items:center;display:grid}.portal-ptr[data-pulling=true] .portal-ptr-puck{transition:none}.portal-ptr-mark{border-radius:var(--radius-pill);border:2px solid var(--primary);width:16px;height:16px;transform:rotate(calc(var(--ptr-progress,0) * 270deg));border-top-color:#0000}.portal-ptr[data-armed=true] .portal-ptr-mark{border-top-color:var(--primary)}.portal-ptr[data-refreshing=true] .portal-ptr-puck{transform:translateY(var(--sp-xs));opacity:1}.portal-ptr[data-refreshing=true] .portal-ptr-mark{border-top-color:#0000;animation:.7s linear infinite portal-ptr-spin}@keyframes portal-ptr-spin{to{transform:rotate(360deg)}}.portal-pagein{display:contents}@media (max-width:767px),(max-height:767px) and (max-width:1199px) and (pointer:coarse){.portal-pagein{animation:portal-page-in var(--t-base);display:block}}@keyframes portal-page-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.portal-pagein{animation:none}.portal-ptr-puck{transition:none}.portal-ptr[data-refreshing=true] .portal-ptr-mark{animation-duration:2s}}.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{--gauge-bleed:20px;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{background:var(--bg-hover);color:var(--fg)}.portal-nav-item[data-active=true]{background:var(--primary-subtle);color:var(--fg)}.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-active);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-sub-fold>summary{align-items:center;gap:var(--sp-3xs);min-height:var(--touch-target-min);margin-top:var(--sp-3xs);font-size:var(--fs-sm);color:var(--fg-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;list-style:none;display:flex}.portal-sub-fold>summary::-webkit-details-marker{display:none}.portal-sub-fold>summary:after{content:"";width:6px;height:6px;transition:transform var(--t-base);border-bottom:1.5px solid;border-right:1.5px solid;flex:none;transform:translateY(-2px)rotate(45deg)}.portal-sub-fold[open]>summary:after{transform:translateY(1px)rotate(225deg)}.portal-sub-fold[open]>summary{color:var(--fg-2)}.portal-sub-fold .portal-sub{font-size:var(--fs-sm);margin-top:var(--sp-3xs)}.portal-page-head[data-fold=true]{align-items:center;margin-bottom:16px}.portal-page-head-title{align-items:center;gap:10px;min-width:0;display:flex;position:relative}.portal-sub-fold--inline{display:inline-block;position:relative}.portal-sub-fold--inline>summary{border:1px solid var(--border);width:24px;height:24px;min-height:0;font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--fg-dim);background:var(--bg-panel);border-radius:50%;justify-content:center;margin:0;padding:0;line-height:1}.portal-sub-fold--inline>summary:hover{color:var(--fg);border-color:var(--border-strong)}.portal-sub-fold--inline>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.portal-sub-fold--inline>summary:after{display:none}.portal-sub-fold--inline[open]>summary{color:var(--fg);border-color:var(--primary)}.portal-sub-fold--inline>.portal-sub{z-index:20;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);width:min(60ch,80vw);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);color:var(--fg-2);margin:0;padding:12px 14px;line-height:1.55;position:absolute;top:calc(100% + 8px);left:0}.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;margin:0;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}@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-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 td .portal-inline-action{flex-wrap:nowrap}.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 tbody tr[data-tone]{--flag:var(--warning);--flag-fill:var(--warning-light);background:linear-gradient(90deg, var(--flag-fill), transparent 46%)}.portal-datagrid tbody tr[data-tone=alert]{--flag:var(--error);--flag-fill:var(--error-light)}.portal-datagrid tbody tr[data-tone=done]{--flag:var(--success);--flag-fill:var(--success-light)}.portal-datagrid tbody tr[data-tone=live]{--flag:var(--primary);--flag-fill:var(--primary-soft)}.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-cursor=true] td{box-shadow:inset 0 1px 0 var(--primary-edge), inset 0 -1px 0 var(--primary-edge)}.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-eclipse{align-items:center;gap:var(--sp-xs);padding:var(--sp-sm) var(--sp-md) 0;text-align:center;flex-direction:column;display:flex}.portal-datagrid-eclipse-lead{max-width:44ch;color:var(--fg-2);margin:0}.portal-datagrid-eclipse-lead b{color:var(--fg);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-gridbar{top:calc(var(--gauge-bleed) * -1);z-index:3;gap:var(--sp-2xs);margin-top:calc(var(--gauge-bleed) * -1);padding:calc(var(--gauge-bleed) + var(--sp-2xs)) 0 var(--sp-2xs);background:var(--bg-panel);border-bottom:1px solid var(--hairline);flex-direction:column;display:flex;position:sticky}.portal-gridbar-row{align-items:center;gap:var(--sp-2xs);display:flex}.portal-search.portal-gridbar-search{flex:auto;min-width:72px}.portal-gridbar-lenses{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);cursor:pointer;flex:none;place-items:center;display:inline-grid;position:relative}.portal-gridbar-lenses svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:18px;height:18px}.portal-gridbar-lenses[data-set=true]{color:var(--primary);border-color:var(--primary)}.portal-gridbar-badge{border-radius:var(--radius-pill);background:var(--primary);min-width:17px;height:17px;color:var(--color-white);font-family:var(--font-mono);font-size:var(--fs-xs);place-items:center;padding:0 4px;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.portal-gridbar-primary{flex:none;display:flex}.portal-gridbar-primary>*{white-space:nowrap}.portal-gridbar-active{align-items:center;gap:var(--sp-2xs);scrollbar-width:none;padding-bottom:1px;display:flex;overflow-x:auto}.portal-gridbar-active::-webkit-scrollbar{display:none}.portal-gridbar-clear{align-items:center;gap:var(--sp-3xs);height:var(--chip-h);padding:0 var(--sp-2xs) 0 var(--sp-xs);border:1px solid var(--primary);border-radius:var(--radius-pill);background:var(--primary);flex:none;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.portal-gridbar-clear{background:color-mix(in srgb, var(--primary) 14%, transparent)}}.portal-gridbar-clear{color:var(--fg);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer}.portal-gridbar-clearlabel{color:var(--fg-2)}.portal-gridbar-clearvalue{font-weight:600}.portal-gridbar-clear svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:13px;height:13px;color:var(--fg-dim)}.portal-gridbar-clear:after{content:"";height:44px;position:absolute;inset:50% 0 auto;transform:translateY(-50%)}.portal-gridbar-sheet{gap:var(--sp-md);flex-direction:column;display:flex}.portal-gridbar-lens{gap:var(--sp-2xs);flex-direction:column;display:flex}.portal-gridbar-lenslabel{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim)}.portal-gridbar-lensrun{align-items:center;gap:var(--sp-2xs);flex-wrap:wrap;display:flex}.portal-gridbar-sort{align-items:center;gap:var(--sp-2xs);display:flex}.portal-gridbar-sort .portal-listbox-wrap{flex:1;min-width:0}.portal-gridbar-sort .portal-select{width:100%;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-gridbar-sort>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;flex:none;place-items:center;display:inline-grid}.portal-gridbar-sort>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-card[data-tone]{--flag:var(--warning);--flag-fill:var(--warning-light);background-image:linear-gradient(90deg, var(--flag-fill), transparent 58%)}.portal-datagrid-card[data-tone=alert]{--flag:var(--error);--flag-fill:var(--error-light)}.portal-datagrid-card[data-tone=done]{--flag:var(--success);--flag-fill:var(--success-light)}.portal-datagrid-card[data-tone=live]{--flag:var(--primary);--flag-fill:var(--primary-soft)}.portal-cardswipe{position:relative;overflow:hidden}.portal-cardswipe-track{padding:0 var(--sp-md);background:var(--bg-hover);color:var(--fg-dim);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;align-items:center;display:none;position:absolute;inset:0}.portal-cardswipe-track[data-side=start]{justify-content:flex-start;display:flex}.portal-cardswipe-track[data-side=end]{justify-content:flex-end;display:flex}.portal-cardswipe-track[data-armed=true]{color:var(--fg)}.portal-cardswipe-track[data-tone=done][data-armed=true]{background:var(--success-soft)}.portal-cardswipe-track[data-tone=warn][data-armed=true]{background:var(--warning-soft)}.portal-cardswipe-track[data-tone=alert][data-armed=true]{background:var(--error-soft)}.portal-cardswipe .portal-datagrid-card{transform:translateX(var(--card-swipe,0px)) scale(var(--card-press,1));transition:transform var(--t-base);position:relative}.portal-cardswipe .portal-datagrid-card:active{--card-press:.985}.portal-cardswipe .portal-datagrid-card[data-swiping=true]{transition:none}@media (prefers-reduced-motion:reduce){.portal-cardswipe .portal-datagrid-card{transition:none}}.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-cardsroot .portal-datagrid-cardsep{display:none}.portal-datagrid-cardsroot .portal-datagrid-cardfacts{gap:var(--sp-3xs) var(--sp-sm)}.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:var(--chip);flex:none;place-items:center;width:22px;height:22px;margin-top:1px;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.portal-queuekind{background:color-mix(in srgb, var(--chip) 16%, transparent)}}.portal-queuekind{border:1px solid var(--chip)}@supports (color:color-mix(in lab, red, red)){.portal-queuekind{border:1px solid color-mix(in srgb, var(--chip) 40%, transparent)}}.portal-queuekind{color:var(--chip)}.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-sub{font-size:var(--fs-xs);color:var(--fg-dim)}.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 .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-kanbanphone{gap:var(--sp-2xs);flex-direction:column;display:flex}.portal-kanbanphone-head{--lane:var(--fg-nontext);align-items:center;gap:var(--sp-2xs);padding:var(--sp-3xs) var(--sp-3xs) var(--sp-3xs) var(--sp-sm);border:1px solid var(--border);border-left:3px solid var(--lane);border-radius:var(--radius-md);background:var(--bg-raised);display:flex}.portal-kanbanphone-head[data-tone=neutral]{--lane:var(--fg-nontext)}.portal-kanbanphone-head[data-tone=live]{--lane:var(--primary)}.portal-kanbanphone-head[data-tone=done]{--lane:var(--success)}.portal-kanbanphone-head[data-tone=warn]{--lane:var(--warning)}.portal-kanbanphone-head[data-tone=alert]{--lane:var(--error)}.portal-kanbanphone-head[data-cat="1"]{--lane:var(--cat-1)}.portal-kanbanphone-head[data-cat="2"]{--lane:var(--cat-2)}.portal-kanbanphone-head[data-cat="3"]{--lane:var(--cat-3)}.portal-kanbanphone-head[data-cat="4"]{--lane:var(--cat-4)}.portal-kanbanphone-head[data-cat="5"]{--lane:var(--cat-5)}.portal-kanbanphone-head[data-cat="6"]{--lane:var(--cat-6)}.portal-kanbanphone-head[data-cat="7"]{--lane:var(--cat-7)}.portal-kanbanphone-head[data-cat="8"]{--lane:var(--cat-8)}.portal-kanbanphone-id{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.portal-kanbanphone-name{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--fg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-kanbanphone-pos{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim)}.portal-kanbanphone-n{min-width:24px;padding:0 var(--sp-3xs);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-2);text-align:right;flex:none}.portal-kanbanphone-step{width:var(--ctl-h);height:var(--ctl-h);border-radius:var(--radius-sm);color:var(--fg-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.portal-kanbanphone-step svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.portal-kanbanphone-step:disabled{opacity:.28;cursor:default}.portal-kanbanphone-step:not(:disabled):active{background:var(--surface-overlay)}.portal-kanbanphone-pips{justify-content:center;align-items:center;gap:var(--sp-3xs);padding:var(--sp-3xs) 0;display:flex}.portal-kanbanphone-pip{border-radius:var(--radius-pill);background:var(--border-strong);width:5px;height:5px;transition:background var(--t-base), width var(--t-base)}.portal-kanbanphone-pip[data-on=true]{background:var(--fg-2);width:16px}.portal-kanbanphone-body{touch-action:pan-y;overflow:hidden}.portal-kanbanphone-section{gap:var(--sp-3xs);flex-direction:column;display:flex}.portal-kanbanphone-section+.portal-kanbanphone-section{margin-top:var(--sp-xs)}.portal-kanbanphone-body[data-swipe] .portal-kanbanphone-lane{transform:translateX(var(--lane-drag,0));will-change:transform}.portal-kanbanphone-body[data-swipe=settling] .portal-kanbanphone-lane{transition:transform .19s cubic-bezier(.2,0,0,1)}@keyframes portal-lane-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.portal-kanbanphone-lane{animation:.19s cubic-bezier(.2,0,0,1) portal-lane-in}@media (prefers-reduced-motion:reduce){.portal-kanbanphone-lane{animation:none}.portal-kanbanphone-body[data-swipe=settling] .portal-kanbanphone-lane,.portal-kanbanphone-pip{transition:none}}.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:var(--lane)}@supports (color:color-mix(in lab, red, red)){.portal-kanban-lane[data-over=true]{border-color:color-mix(in srgb, var(--lane) 60%, transparent)}}.portal-kanban-lane[data-over=true]{background:var(--lane)}@supports (color:color-mix(in lab, red, red)){.portal-kanban-lane[data-over=true]{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 var(--lane);display:flex}@supports (color:color-mix(in lab, red, red)){.portal-kanban-lanehead{border-bottom:1px solid color-mix(in srgb, var(--lane) 22%, var(--border))}}.portal-kanban-lanehead{border-top:2px solid var(--lane);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--lane)}@supports (color:color-mix(in lab, red, red)){.portal-kanban-lanehead{background:color-mix(in srgb, var(--lane) 8%, var(--bg-raised))}}.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:var(--lane);flex:none}@supports (color:color-mix(in lab, red, red)){.portal-kanban-lanen{color:color-mix(in srgb, var(--lane) 55%, var(--fg-2))}}.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],.portal-kanban-card[data-urgency=soon]{--urgency:var(--warning)}@supports (color:color-mix(in lab, red, red)){.portal-kanban-card[data-urgency=soon]{--urgency:color-mix(in srgb, var(--warning) 45%, transparent)}}.portal-kanban-card[data-urgency=owed-late]{border-color:var(--error)}@supports (color:color-mix(in lab, red, red)){.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:var(--chip);justify-content:center;align-items:center;padding:0 11px;line-height:1;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.portal-chip{background:color-mix(in srgb, var(--chip) 16%, transparent)}}.portal-chip{border:1px solid var(--chip)}@supports (color:color-mix(in lab, red, red)){.portal-chip{border:1px solid color-mix(in srgb, var(--chip) 40%, transparent)}}.portal-chip[data-emphasis=loud]{background:var(--chip)}@supports (color:color-mix(in lab, red, red)){.portal-chip[data-emphasis=loud]{background:color-mix(in srgb, var(--chip) 34%, transparent)}}.portal-chip[data-emphasis=loud]{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:var(--chip)}@supports (color:color-mix(in lab, red, red)){.portal-chip--pick:hover:not(:disabled){background:color-mix(in srgb, var(--chip) 26%, transparent)}}.portal-chip--pick:hover:not(:disabled){border-color:var(--chip)}@supports (color:color-mix(in lab, red, red)){.portal-chip--pick:hover:not(:disabled){border-color:color-mix(in srgb, var(--chip) 60%, transparent)}}.portal-chip--pick[data-open=true]{background:var(--chip)}@supports (color:color-mix(in lab, red, red)){.portal-chip--pick[data-open=true]{background:color-mix(in srgb, var(--chip) 30%, transparent)}}.portal-chip--pick[data-open=true]{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:var(--chip);flex:none;width:9px;height:9px;margin-top:4px}@supports (color:color-mix(in lab, red, red)){.portal-chip-popdot{background:color-mix(in srgb, var(--chip) 60%, transparent)}}.portal-chip-popdot{border:1px solid var(--chip)}.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{--callout-tone:var(--primary);border:1px solid var(--border);background:var(--bg-raised);border-radius:var(--radius-md);font-size:var(--fs-base);color:var(--fg-2);padding:12px 14px 12px 30px;line-height:1.5;position:relative}.portal-callout:before{content:"";background:var(--callout-tone);border-radius:50%;width:8px;height:8px;position:absolute;top:calc(8px + .75em);left:13px}.portal-callout strong{color:var(--fg);font-weight:600}.portal-callout[data-tone=success]{--callout-tone:var(--success);background:var(--success-light);border-color:var(--success-edge)}.portal-callout[data-tone=warn]{--callout-tone:var(--warning);background:var(--warning-light);border-color:var(--warning-edge)}.portal-callout[data-tone=alert]{--callout-tone:var(--error);background:var(--error-light);border-color:var(--error-edge)}.portal-hint{text-transform:none;letter-spacing:0;color:var(--fg-dim)}.portal-help{color:var(--fg-dim);font-size:var(--fs-sm);margin:0;line-height:1.5}.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);resize:vertical}.portal-input--mono{font-family:var(--font-mono)}.portal-input--mono-sm{font-size:var(--fs-base)}.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-auth-brand{margin-bottom:28px}.portal-auth-eyebrow{margin-bottom:10px}.portal-auth-title{margin-bottom:var(--sp-lg)}.portal-authstart-eyebrow{margin-bottom:var(--sp-2xs)}.portal-authstart-title{margin-bottom:var(--sp-sm)}.portal-authstart-body{margin:0 0 var(--sp-lg);font-size:var(--fs-base);color:var(--fg-2);line-height:1.55}.portal-authstart-go{width:100%;min-height:var(--ctl-h);justify-content:center;display:flex}.portal-authstart-note{margin-top:var(--sp-md)}.portal-auth-alert{margin:0 0 var(--sp-md);padding:var(--sp-sm) var(--sp-md);border:1px solid var(--warning)}@supports (color:color-mix(in lab, red, red)){.portal-auth-alert{border:1px solid color-mix(in srgb, var(--warning) 40%, transparent)}}.portal-auth-alert{border-radius:var(--radius-md);background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.portal-auth-alert{background:color-mix(in srgb, var(--warning) 10%, transparent)}}.portal-auth-alert-title:before{content:"";width:8px;height:8px;margin-right:var(--sp-xs);background:var(--warning);vertical-align:.05em;border-radius:50%;display:inline-block}.portal-auth-alert-title{margin:0 0 var(--sp-3xs);font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--fg)}.portal-auth-alert-body{font-size:var(--fs-sm);color:var(--fg-2);margin:0;line-height:1.55}.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-riskbanner{margin:0 0 var(--sp-md);border:1px solid rgba(var(--warning-rgb), .32);border-radius:var(--radius-md);background:var(--warning-soft);color:var(--fg-2);font-size:var(--fs-sm);align-items:flex-start;gap:10px;padding:10px 14px;line-height:1.5;display:flex}.portal-riskbanner-mark{color:var(--warning);flex-shrink:0;font-weight:700}.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-barnote{font-size:var(--fs-sm);margin-top:0}.portal-facetstrip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.portal-facetstrip--stacked{margin-bottom:14px}.portal-facet{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-facet:hover{background:var(--bg-hover)}.portal-facet[data-active=true]{border-color:var(--primary);background:var(--primary-soft)}.portal-facet-label{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.portal-facet-value{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-facet-meta{font-size:var(--fs-xs);color:var(--fg-dim)}.portal-facet[data-tone=warn] .portal-facet-value{color:var(--warning)}.portal-facet[data-tone=alert] .portal-facet-value{color:var(--error)}.portal-facet[data-tone=done] .portal-facet-value{color:var(--success)}@media (max-width:767px){.portal-facet[data-empty=true]{padding:var(--sp-xs) var(--sp-sm)}.portal-facet[data-empty=true] .portal-facet-value{display:none}}.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:rgba(0, 0, 0, calc(.55 * (1 - var(--sheet-progress,0))));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);--modal-pad:22px;border-radius:var(--radius-lg);width:100%;max-width:460px;padding:var(--modal-pad);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 60px #0006}.portal-modal--owns-scroll{flex-direction:column;padding:0;display:flex;overflow:hidden}.portal-modal--owns-scroll>*{min-height:0}.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-modal-backdrop>[data-sheet]{transform:translateY(var(--sheet-drag,0px));will-change:transform}.portal-modal-backdrop>[data-sheet=settling]{transition:transform .2s cubic-bezier(.2,0,0,1)}.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)}}@media (max-width:767px){.portal-topbar-search{justify-self:end;width:auto}.portal-cmdk-trigger{width:var(--ctl-h);justify-content:center;max-width:none;padding:0}.portal-cmdk-trigger .portal-cmdk-trigger-label{display:none}.portal-cmdk-trigger .ico{opacity:1}}.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-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--fit{place-self:flex-start start}.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-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-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:var(--ramp)}@supports (color:color-mix(in lab, red, red)){.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:var(--ramp)}@supports (color:color-mix(in lab, red, red)){.portal-track-step[data-state=done]:before{background:color-mix(in srgb, var(--ramp) 70%, transparent)}}.portal-track-step[data-state=current]{background:var(--ramp)}@supports (color:color-mix(in lab, red, red)){.portal-track-step[data-state=current]{background:color-mix(in srgb, var(--ramp) 16%, transparent)}}.portal-track-step[data-state=current]{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:var(--ramp)}@supports (color:color-mix(in lab, red, red)){.portal-track-seg[data-state=todo]{background:color-mix(in srgb, var(--ramp) 26%, transparent)}}.portal-track-seg[data-state=done]{background:var(--ramp)}@supports (color:color-mix(in lab, red, red)){.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:var(--pi);flex:none;place-items:center;width:30px;height:30px;display:grid}@supports (color:color-mix(in lab, red, red)){.portal-panel-icon{background:color-mix(in srgb, var(--pi) 16%, transparent)}}.portal-panel-icon{border:1px solid var(--pi)}@supports (color:color-mix(in lab, red, red)){.portal-panel-icon{border:1px solid color-mix(in srgb, var(--pi) 40%, transparent)}}.portal-panel-icon{color:var(--pi)}.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{top:calc(var(--gauge-bleed) * -1);z-index:20;margin:0 calc(var(--gauge-bleed) * -1);padding:var(--gauge-bleed) var(--gauge-bleed) var(--sp-xs);background:var(--bg);transition:box-shadow var(--t-base);position:sticky}.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:var(--role)}@supports (color:color-mix(in lab, red, red)){.portal-gauge-seg[data-on=true]{background:color-mix(in srgb, var(--role) 14%, transparent)}}.portal-gauge-seg[data-on=true]{color:var(--fg)}.portal-gauge-seg:before{content:"";background:var(--role);height:3px;position:absolute;inset:0 0 auto}@supports (color:color-mix(in lab, red, red)){.portal-gauge-seg:before{background:color-mix(in srgb, var(--role) 24%, transparent)}}.portal-gauge-seg:before{transition:background var(--t-fast)}.portal-gauge-seg[data-passed=true]:before{background:var(--role)}@supports (color:color-mix(in lab, red, red)){.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:var(--role);flex:none;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.portal-gauge-glyph{color:color-mix(in srgb, var(--role) 70%, var(--fg-nontext))}}.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:var(--role);place-items:center;width:24px;height:24px;display:grid}@supports (color:color-mix(in lab, red, red)){.portal-gauge-current .portal-gauge-glyph{background:color-mix(in srgb, var(--role) 16%, transparent)}}.portal-gauge-current .portal-gauge-glyph{border:1px solid var(--role)}@supports (color:color-mix(in lab, red, red)){.portal-gauge-current .portal-gauge-glyph{border:1px solid color-mix(in srgb, var(--role) 42%, transparent)}}.portal-gauge-current .portal-gauge-glyph{color:var(--role)}.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:var(--role);min-width:2px;height:6px;padding:0}@supports (color:color-mix(in lab, red, red)){.portal-gauge-bar--phone .portal-gauge-seg{background:color-mix(in srgb, var(--role) 26%, transparent)}}.portal-gauge-bar--phone .portal-gauge-seg{transition:height var(--t-fast), background var(--t-fast)}.portal-gauge-bar--phone .portal-gauge-seg:before{display:none}.portal-gauge-bar--phone .portal-gauge-seg[data-passed=true]{background:var(--role)}@supports (color:color-mix(in lab, red, red)){.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: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-storecheck-money{gap:var(--sp-md);flex-direction:column;display:flex}.portal-storecheck-verdict{--verdict:var(--success);--verdict-fill:var(--success-light);--verdict-edge:var(--success-edge);align-items:start;gap:var(--sp-sm);padding:var(--sp-md);border:1px solid var(--verdict-edge);border-radius:var(--radius-md);background:linear-gradient(100deg, var(--verdict-fill), transparent 62%), var(--bg-raised);grid-template-columns:auto 1fr auto;display:grid}.portal-storecheck-verdict[data-tone=warn]{--verdict:var(--warning);--verdict-fill:var(--warning-light);--verdict-edge:var(--warning-edge)}.portal-storecheck-verdict-mark{border-radius:var(--radius-sm);background:var(--verdict-fill);border:1px solid var(--verdict-edge);width:30px;height:30px;color:var(--verdict);font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-bold);place-items:center;line-height:1;display:grid}.portal-storecheck-verdict-body{min-width:0}.portal-storecheck-verdict-head{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--fg)}.portal-storecheck-verdict-sub{margin:var(--sp-4xs) 0 0;font-size:var(--fs-sm);color:var(--fg-2);max-width:74ch;line-height:1.6}.portal-storecheck-verdict-delta{white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--verdict);font-variant-numeric:tabular-nums}.portal-storecheck-gap{margin:var(--sp-sm) 0 0;gap:var(--sp-3xs);flex-direction:column;padding:0;list-style:none;display:flex}.portal-storecheck-gapterm{--term:var(--fg-dim);align-items:baseline;gap:var(--sp-sm);padding:var(--sp-3xs) var(--sp-xs);border-radius:var(--radius-sm);background:0 0;display:flex}.portal-storecheck-gapterm:before{content:"";background:var(--term);border-radius:50%;flex:none;align-self:center;width:6px;height:6px}.portal-storecheck-gapterm[data-tone=warn]{--term:var(--warning);background:linear-gradient(90deg, var(--warning-light), transparent 48%)}.portal-storecheck-gapterm[data-tone=alert]{--term:var(--error);background:linear-gradient(90deg, var(--error-light), transparent 48%)}.portal-storecheck-gapamt{text-align:right;min-width:9ch;font-family:var(--font-mono);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--term);font-variant-numeric:tabular-nums;flex:none}.portal-storecheck-gapterm:not([data-tone]) .portal-storecheck-gapamt{color:var(--fg-dim)}.portal-storecheck-gaplabel{align-items:baseline;gap:var(--sp-xs);min-width:0;font-size:var(--fs-sm);color:var(--fg-2);display:flex}.portal-storecheck-gapn{border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);flex:none;padding:1px 6px}.portal-storecheck-sec{gap:var(--sp-xs);flex-direction:column;display:flex}.portal-storecheck-sech{align-items:center;gap: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-dim);margin:0;display:flex}.portal-storecheck-sech:after{content:"";background:var(--border);flex:auto;height:1px}.portal-storecheck-sechrow{align-items:center;gap:var(--sp-sm);flex-wrap:wrap;display:flex}.portal-storecheck-sechrow .portal-storecheck-sech{flex:200px}.portal-storecheck-empty{font-size:var(--fs-sm);color:var(--fg-dim);max-width:78ch;margin:0;line-height:1.6}.portal-storecheck-ledger{gap:var(--sp-3xs);flex-direction:column;margin:0;display:flex}.portal-storecheck-line{align-items:baseline;gap:var(--sp-xs);display:flex}.portal-storecheck-line dt{align-items:baseline;gap:var(--sp-xs);min-width:0;font-size:var(--fs-sm);color:var(--fg-2);flex:auto;display:flex}.portal-storecheck-line dt:after{content:"";background-image:linear-gradient(to right, var(--border-strong) 0 1px, transparent 1px 100%);background-repeat:repeat-x;background-size:4px 1px;flex:auto;align-self:center;min-width:12px;height:1px}.portal-storecheck-line dd{font-family:var(--font-mono);font-size:var(--fs-base);font-weight:var(--fw-medium);letter-spacing:-.01em;color:var(--fg);font-variant-numeric:tabular-nums;flex:none;margin:0}.portal-storecheck-line[data-muted=true] dd{color:var(--fg-dim);font-weight:var(--fw-normal)}.portal-storecheck-line[data-weight=strong]{margin-top:var(--sp-2xs);padding-top:var(--sp-2xs);border-top:1px solid var(--border)}.portal-storecheck-line[data-weight=strong] dt{color:var(--fg)}.portal-storecheck-line[data-weight=strong] dd{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.portal-storecheck-line[data-tone=ok] dd{color:var(--success)}.portal-storecheck-line[data-tone=warn] dd{color:var(--warning)}.portal-storecheck-line[data-tone=warn] dt{color:var(--fg)}.portal-storecheck-rates{gap:var(--sp-2xs);flex-direction:column;display:flex}.portal-storecheck-rate{align-items:center;gap:var(--sp-sm);cursor:pointer;padding:var(--sp-2xs) var(--sp-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);transition:border-color var(--t-fast), background var(--t-fast);grid-template-columns:auto 1fr auto;display:grid;position:relative}.portal-storecheck-rate:hover{border-color:var(--border-hover);background:var(--bg-hover)}.portal-storecheck-rate[data-selected=true]{border-color:var(--primary-edge);background:var(--primary-subtle)}.portal-storecheck-rate-radio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.portal-storecheck-rate-dot{border:1px solid var(--border-hover);width:15px;height:15px;transition:border-color var(--t-fast);border-radius:50%;flex:none;position:relative}.portal-storecheck-rate-dot:after{content:"";background:var(--primary);opacity:0;transition:opacity var(--t-fast), transform var(--t-fast);border-radius:50%;position:absolute;inset:3px;transform:scale(.4)}.portal-storecheck-rate[data-selected=true] .portal-storecheck-rate-dot{border-color:var(--primary)}.portal-storecheck-rate[data-selected=true] .portal-storecheck-rate-dot:after{opacity:1;transform:none}.portal-storecheck-rate-radio:focus-visible+.portal-storecheck-rate-dot{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.portal-storecheck-rate-main{gap:var(--sp-4xs);flex-direction:column;min-width:0;display:flex}.portal-storecheck-rate-name{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--fg)}.portal-storecheck-rate-meta{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--fg-dim)}.portal-storecheck-rate[data-selected=true] .portal-storecheck-rate-meta{color:var(--fg-2)}.portal-storecheck-rate-cost{align-items:flex-end;gap:var(--sp-4xs);text-align:right;flex-direction:column;display:flex}.portal-storecheck-rate-ship{font-family:var(--font-mono);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--fg);font-variant-numeric:tabular-nums}.portal-storecheck-rate-allin{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);font-variant-numeric:tabular-nums}.portal-storecheck-allin{justify-content:space-between;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:radial-gradient(130% 150% at 100% 0%, var(--primary-subtle), transparent 62%), var(--bg-deep);flex-wrap:wrap;display:flex}.portal-storecheck-allin-copy{flex:200px;min-width:0}.portal-storecheck-allin-label{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-dim)}.portal-storecheck-allin-note{margin-top:var(--sp-4xs);font-size:var(--fs-sm);color:var(--fg-2);line-height:1.55}.portal-storecheck-allin-figure{font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums;flex:none;line-height:1.1}.portal-storecheck-delta{color:var(--fg-dim)}.portal-storecheck-delta[data-tone=ok]{color:var(--success)}.portal-storecheck-delta[data-tone=warn]{color:var(--warning);font-weight:var(--fw-semibold)}.portal-storecheck-delta[data-tone=alert]{color:var(--error);font-weight:var(--fw-semibold)}@keyframes portal-storecheck-stamp{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:none}}.portal-storecheck-verdict-mark{animation:.34s cubic-bezier(.2,1.5,.4,1) 60ms both portal-storecheck-stamp}@media (prefers-reduced-motion:reduce){.portal-storecheck-verdict-mark{animation:none}}@media (max-width:767px){.portal-storecheck-verdict{grid-template-columns:auto 1fr}.portal-storecheck-verdict-delta{grid-column:2}.portal-storecheck-allin{align-items:flex-start}.portal-storecheck-allin-figure{flex:100%}.portal-storecheck-rate{gap:var(--sp-xs);padding:var(--sp-xs) var(--sp-sm)}.portal-storecheck-gapamt{min-width:8ch}}.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}}@media (max-width:767px){.portal-inbox[data-reading=false] .portal-conv,.portal-inbox-body[data-reading=false] .portal-conv,.portal-inbox[data-reading=true] .portal-tl,.portal-inbox-body[data-reading=true] .portal-tl{display:none}.portal-conv-back{align-items:center;gap:var(--sp-2xs);min-height:var(--ctl-h);padding:0 var(--sp-xs) 0 var(--sp-3xs);color:var(--fg-2);font-family:inherit;font-size:var(--fs-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;display:inline-flex}.portal-conv-back:before{content:"";border-bottom:1.5px solid;border-left:1.5px solid;flex:none;width:7px;height:7px;transform:rotate(45deg)}.portal-conv-back:active{color:var(--fg)}}.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{background:var(--bg-hover)}.portal-tl-item[data-active=true]{background:var(--primary-subtle)}.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-agenda{flex-direction:column;display:flex}.portal-cal-agenda-day{gap:var(--sp-sm);padding:var(--sp-sm) 0;border-top:1px solid var(--hairline);grid-template-columns:3.25rem minmax(0,1fr);display:grid}.portal-cal-agenda-day:first-child{padding-top:var(--sp-2xs);border-top:none}.portal-cal-agenda-date{padding-top:var(--sp-4xs);font-weight:var(--fw-normal);flex-direction:column;align-items:flex-start;gap:0;margin:0;display:flex}.portal-cal-agenda-date>b{font-size:var(--fs-2xl);letter-spacing:-.02em;color:var(--fg);font-weight:700;line-height:1.05}.portal-cal-agenda-date>span{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}.portal-cal-agenda-date>i{font-family:var(--font-mono);font-style:normal;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}.portal-cal-agenda-day[data-today] .portal-cal-agenda-date>b,.portal-cal-agenda-day[data-today] .portal-cal-agenda-date>span{color:var(--primary-hover)}.portal-cal-agenda-items{gap:var(--sp-2xs);flex-direction:column;min-width:0;display:flex}.portal-cal-agenda-items>*{width:100%;min-height:var(--touch-target-min)}.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-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;--chip-tone:var(--fg-nontext);border-radius:var(--radius-sm);border:1px solid var(--border);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:before{content:"";box-sizing:border-box;background:var(--chip-tone);border-radius:50%;flex:none;align-self:center;width:8px;height:8px}.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]{--chip-tone: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]{--chip-tone: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]{--chip-tone: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]{--chip-tone: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]{--chip-tone:var(--fg-nontext)}.portal-cal-chip[data-session=true]:before{border:1.5px dashed var(--primary);background:0 0}.portal-cal-chip[data-session=true] .portal-cal-chip-time{color:var(--primary-2)}.portal-cal-chip[data-task=true]:before{border-radius:1px}.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]{--chip-tone:var(--primary);background:var(--primary-soft)}.portal-cal-chip[data-operator-event=true]:before{border:3px double var(--chip-tone);background:0 0;width:10px;height:10px}.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]{--chip-tone:var(--fg-nontext);background:var(--bg-raised)}.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-body .portal-cal-chip-name{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;line-height:1.35;overflow:visible}.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-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-dossier{flex-direction:column;min-height:0;display:flex}.portal-cal-dossier-head{border-bottom:1px solid var(--border);flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:11px 12px;padding:17px 20px 15px;display:grid}.portal-cal-dossier-tags{flex-wrap:wrap;gap:6px;display:flex}.portal-cal-dossier-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:-.02em;color:var(--fg);overflow-wrap:anywhere;grid-column:1/-1;margin:0;line-height:1.25}.portal-cal-dossier-title a{color:inherit;text-decoration:none}.portal-cal-dossier-title a:hover{color:var(--primary-2)}.portal-cal-dossier-who{font-size:var(--fs-sm);color:var(--fg-dim);overflow-wrap:anywhere;grid-column:1/-1;margin-top:-6px}.portal-cal-dossier-body{flex-direction:column;flex:auto;gap:20px;min-height:0;padding:18px 20px 20px;display:flex;overflow-y:auto}.portal-cal-dossier-eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin:0 0 9px}.portal-cal-when{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 14px;padding:13px 16px 14px;display:grid}.portal-cal-when-day{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);grid-column:1/-1}.portal-cal-when-clock{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--fg)}.portal-cal-when-run{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-panel);font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--fg-2);white-space:nowrap;justify-self:end;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.portal-cal-when-run .ico{width:13px;height:13px;color:var(--fg-dim)}.portal-cal-where-addr{font-size:var(--fs-base);color:var(--fg);overflow-wrap:anywhere;gap:9px;margin:0;line-height:1.5;display:flex}.portal-cal-where-addr .ico{color:var(--fg-dim);flex:none;margin-top:2px}.portal-cal-where-addr+.portal-btn{margin-top:12px}.portal-cal-dossier-notes{min-width:0}.portal-cal-notes{flex-direction:column;gap:15px;display:flex}.portal-cal-notes-p{font-size:var(--fs-base);color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere;max-width:66ch;margin:0;line-height:1.65}.portal-cal-notes-facts{background:var(--border);border:1px solid var(--border);border-radius:var(--radius-md);gap:1px;margin:0;display:grid;overflow:hidden}.portal-cal-notes-facts>div{background:var(--bg-raised);grid-template-columns:minmax(0,164px) minmax(0,1fr);align-items:baseline;gap:4px 14px;padding:9px 13px;display:grid}.portal-cal-notes-facts dt{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);overflow-wrap:anywhere}.portal-cal-notes-facts dd{font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--fg);overflow-wrap:anywhere;margin:0;line-height:1.5}.portal-cal-notes-list-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:9px}.portal-cal-notes-list ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-cal-notes-list li{font-size:var(--fs-base);color:var(--fg-2);overflow-wrap:anywhere;padding-left:19px;line-height:1.5;position:relative}.portal-cal-notes-list li:before{content:"";border-radius:var(--radius-xs);background:var(--primary);width:6px;height:6px;position:absolute;top:.5em;left:1px}.portal-cal-dossier-foot{border-top:1px solid var(--border);background:var(--bg-panel);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:10px 14px;padding:13px 20px 15px;display:flex}.portal-cal-dossier-sync{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.portal-cal-dossier-sync:before{content:"";border-radius:var(--radius-pill);background:var(--border-hover);width:6px;height:6px}.portal-cal-dossier-sync[data-synced=true]:before{background:var(--success)}.portal-cal-dossier-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.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-tape{gap:var(--sp-xs);margin-bottom:var(--sp-xs);border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(120% 180% at 0% 0%, var(--primary-subtle), transparent 62%), var(--bg-secondary);flex-direction:column;display:flex}.portal-tape[data-view=full]{margin-bottom:var(--sp-sm);padding:var(--sp-sm) var(--sp-md) var(--sp-xs)}.portal-tape[data-view=compact]{padding:var(--sp-2xs) var(--sp-2xs) var(--sp-2xs) var(--sp-sm)}.portal-tape[data-empty=true]{padding:var(--sp-2xs) var(--sp-sm)}@media (max-width:767px){.portal-tape-band .portal-tape-plot{display:none}.portal-tape-band{gap:var(--sp-xs)}.portal-tape[data-view=compact]{padding:var(--sp-2xs) var(--sp-sm)}}.portal-tape-band{align-items:center;gap:var(--sp-sm);min-width:0;display:flex}.portal-tape-band .portal-tape-plot{flex:auto;gap:2px;min-width:0;height:26px;margin-top:0}.portal-tape-band .portal-tape-col{padding-top:6px}.portal-tape-inline{align-content:center;align-items:baseline;gap:0 var(--sp-sm);width:32ch;min-height:34px;font-size:var(--fs-xs);color:var(--fg-dim);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;line-height:1.45;display:grid}.portal-tape-inline-readout{align-items:baseline;gap:0 var(--sp-xs);flex-wrap:wrap;grid-column:1/-1;display:flex}.portal-tape-inline .portal-tape-readout-lead{color:var(--fg);font-weight:var(--fw-medium)}.portal-tape-inline-item{align-items:baseline;gap:var(--sp-3xs);text-overflow:ellipsis;white-space:nowrap;min-width:0;display:inline-flex;overflow:hidden}.portal-tape-inline-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg);font-variant-numeric:tabular-nums}.portal-tape-inline-item[data-tone=action] .portal-tape-inline-value{color:var(--warning)}.portal-tape-inline-item[data-tone=alert] .portal-tape-inline-value{color:var(--error)}.portal-tape-toggle{border-radius:var(--radius-sm);cursor:pointer;width:26px;height:26px;transition:background var(--t-fast,.12s), border-color var(--t-fast,.12s);background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;display:grid}.portal-tape-toggle:hover{background:var(--bg-hover);border-color:var(--border-strong)}.portal-tape-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-tape-toggle-chevron{border-right:1.5px solid var(--fg-dim);border-bottom:1.5px solid var(--fg-dim);width:7px;height:7px;transition:transform var(--t-base,.18s), border-color var(--t-fast,.12s);transform:translateY(-2px)rotate(45deg)}.portal-tape-toggle:hover .portal-tape-toggle-chevron{border-color:var(--fg)}.portal-tape[data-view=full] .portal-tape-toggle-chevron{transform:translateY(1px)rotate(-135deg)}.portal-tape[data-view=full] .portal-tape-toggle{margin-left:var(--sp-2xs)}.portal-tape-blank{font-size:var(--fs-sm);color:var(--fg-dim);margin:0}.portal-tape-figures{gap:var(--sp-sm) var(--sp-lg);grid-template-columns:repeat(auto-fit,minmax(132px,1fr));display:grid}.portal-tape-figure{flex-direction:column;gap:1px;min-width:0;display:flex}.portal-tape-figure-label{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)}.portal-tape-figure-value{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--fg);font-variant-numeric:tabular-nums;line-height:1.15}.portal-tape-figure-sub{font-size:var(--fs-xs);color:var(--fg-dim)}.portal-tape-figure[data-tone=action] .portal-tape-figure-value{color:var(--warning)}.portal-tape-figure[data-tone=alert] .portal-tape-figure-value{color:var(--error)}.portal-tape-plot{height:62px;margin-top:var(--sp-2xs);align-items:end;gap:3px;display:grid;position:relative}.portal-tape-median{z-index:0;border-top:1px dashed var(--border-hover);pointer-events:none;height:0;position:absolute;left:0;right:0}.portal-tape-col{z-index:1;box-sizing:border-box;border-radius:var(--radius-xs);cursor:pointer;min-width:0;height:100%;transition:background var(--t-fast,.12s);background:0 0;border:0;align-items:flex-end;padding:8px 0 0;display:flex;position:relative}.portal-tape-col:hover{background:var(--surface-overlay)}.portal-tape-col:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-tape-col[data-active=true]{background:var(--bg-hover);box-shadow:inset 0 -2px 0 var(--primary)}.portal-tape-col[data-daystart=true]{box-shadow:inset 1px 0 0 var(--border)}.portal-tape-col[data-daystart=true][data-active=true]{box-shadow:inset 1px 0 0 var(--border), inset 0 -2px 0 var(--primary)}.portal-tape-col[data-tone=needs]:before{content:"";background:var(--warning);border-radius:50%;width:3px;height:3px;margin-left:-1.5px;position:absolute;top:1px;left:50%}.portal-tape-bar{background:var(--primary-hover);width:100%;min-height:2px;transition:background var(--t-fast,.12s), filter var(--t-fast,.12s);border-radius:2px 2px 0 0;display:block}.portal-tape-col[data-tone=needs] .portal-tape-bar{background:var(--warning)}.portal-tape-col[data-tone=failed] .portal-tape-bar{background:var(--error)}.portal-tape-col[data-tone=running] .portal-tape-bar{background:var(--fg-nontext);animation:1.4s ease-in-out infinite portal-asst-breathe}.portal-tape-col:hover .portal-tape-bar,.portal-tape-col[data-active=true] .portal-tape-bar{filter:brightness(1.15)}.portal-tape-days{margin-top:var(--sp-4xs);display:grid}.portal-tape-day{min-width:0;padding-top:var(--sp-4xs);border-top:1px solid var(--hairline);margin-right:3px}.portal-tape-day-label{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);letter-spacing:.02em;display:block;overflow:hidden}.portal-tape-foot{justify-content:space-between;align-items:center;gap:var(--sp-xs);padding-top:var(--sp-3xs);flex-wrap:wrap;display:flex}.portal-tape-readout{align-items:baseline;gap:var(--sp-sm);min-height:18px;font-size:var(--fs-sm);color:var(--fg-2);flex-wrap:wrap;margin:0;display:flex}.portal-tape-readout-lead{color:var(--fg);font-weight:var(--fw-medium)}.portal-tape-readout-hint{color:var(--fg-dim)}.portal-tape-readout-item{align-items:baseline;gap:var(--sp-3xs);font-variant-numeric:tabular-nums;display:inline-flex}.portal-tape-readout-key{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim)}.portal-tape-readout-item[data-tone=needs]{color:var(--warning)}.portal-tape-readout-item[data-tone=failed]{color:var(--error)}.portal-tape-legend{align-items:center;gap:var(--sp-sm);margin:0;padding:0;list-style:none;display:flex}.portal-tape-legend-key{align-items:center;gap:var(--sp-3xs);font-size:var(--fs-xs);color:var(--fg-dim);display:inline-flex}.portal-tape-legend-mark{background:var(--primary-hover);border-radius:2px;width:8px;height:8px}.portal-tape-legend-key[data-tone=needs] .portal-tape-legend-mark{background:var(--warning)}.portal-tape-legend-key[data-tone=failed] .portal-tape-legend-mark{background:var(--error)}.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-modes .portal-seg-btn{justify-content:center;min-width:92px}.portal-asst-today{gap:var(--sp-md);width:100%;max-width:940px;padding-bottom:var(--sp-xl);flex-direction:column;display:flex}.portal-asst-bar{align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) var(--sp-sm);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);flex-wrap:wrap;display:flex}.portal-asst-bar-state{min-width:0;font-size:var(--fs-sm);color:var(--fg-2);font-variant-numeric:tabular-nums;flex:auto;margin:0}.portal-asst-bar-acts{align-items:center;gap:var(--sp-xs);flex:none;display:flex}.portal-asst-silence{padding:var(--sp-xs) var(--sp-sm);border:1px solid var(--error-edge);border-radius:var(--radius-md);background:var(--error-light);font-size:var(--fs-sm);color:var(--fg);margin:0;line-height:1.5}.portal-asst-paused{align-items:center;gap:var(--sp-3xs);padding:0 var(--sp-2xs);min-height:var(--ctl-h-sm);border:1px solid var(--warning-edge);border-radius:var(--radius-sm);background:var(--warning-light);font-size:var(--fs-xs);color:var(--fg);display:inline-flex}.portal-asst-band{gap:var(--sp-xs);flex-direction:column;display:flex}.portal-asst-bandhead{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);margin:0}.portal-asst-queue{gap:var(--sp-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-asst-queue[data-cleared=true]{margin-top:var(--sp-xs);opacity:.72}.portal-asst-qcard{padding:var(--sp-sm) var(--sp-sm) var(--sp-xs) calc(var(--sp-sm) + 15px);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);transition:border-color var(--t-fast);position:relative}.portal-asst-qcard:hover{border-color:var(--border-strong)}.portal-asst-qcard:before{content:"";top:calc(var(--sp-sm) + 6px);left:var(--sp-sm);background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute}.portal-asst-qcard[data-weight=act]:before{background:var(--warning)}.portal-asst-qcard[data-weight=failed]:before{background:var(--error)}.portal-asst-qcard[data-weight=wait]:before{background:var(--fg-nontext)}.portal-asst-qcard[data-weight=brief]:before{background:var(--primary)}.portal-asst-qcard-text[data-brief-lead=true]{white-space:pre-line;max-width:none}.portal-asst-qcard[data-weight=ahead]:before{background:var(--stage-3,var(--info,var(--primary)))}.portal-asst-bandsub{margin:0 0 var(--sp-2xs);font-size:var(--fs-xs);color:var(--fg-2)}.portal-asst-qcard[data-weight=clock]:before{background:var(--fg-nontext)}.portal-asst-qcard[data-weight=clock][data-enabled=false]{background:var(--bg-secondary)}.portal-asst-clock-sub{margin:0 0 var(--sp-2xs);max-width:74ch;font-size:var(--fs-sm);color:var(--fg-dim);line-height:1.55}.portal-asst-clock-sub code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2)}.portal-asst-clock-state{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim);flex:none}.portal-asst-clock-state[data-on=true]{color:var(--fg-2)}.portal-asst-clock-edit{align-items:center;gap:var(--sp-xs);margin-top:var(--sp-xs);flex-wrap:wrap;display:flex}.portal-asst-clock-expr{min-width:0;max-width:28ch;font-family:var(--font-mono);flex:18ch}.portal-asst-clock-next{margin:var(--sp-2xs) 0 0;font-size:var(--fs-sm);color:var(--fg-2);line-height:1.5}.portal-asst-clock-error{margin:var(--sp-2xs) 0 0;font-size:var(--fs-sm);color:var(--error);line-height:1.5}.portal-asst-clock-recent{margin:var(--sp-xs) 0 0;padding:var(--sp-2xs) 0 0;border-top:1px solid var(--hairline);gap:var(--sp-3xs);flex-direction:column;list-style:none;display:flex}.portal-asst-clock-recent li{align-items:baseline;gap:var(--sp-xs);display:flex}.portal-asst-clock-line{min-width:0;font-size:var(--fs-sm);color:var(--fg-2);flex:1;line-height:1.5}.portal-asst-qcard[data-cleared=true]{background:var(--bg-secondary)}.portal-asst-qcard[data-cleared=true]:before{background:var(--border-hover)}.portal-asst-qcard-top{align-items:baseline;gap:var(--sp-xs);display:flex}.portal-asst-qcard-subject{min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--fg);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.portal-asst-qcard-subject[data-lead=true]{max-width:74ch;font-size:var(--fs-base);font-weight:var(--fw-medium);letter-spacing:0;text-overflow:clip;white-space:normal;line-height:1.5;overflow:visible}.portal-asst-qcard-open{width:100%;font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;overflow:inherit;text-overflow:inherit;white-space:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.portal-asst-qcard-open:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.portal-asst-qcard-open:focus-visible{outline:none}.portal-asst-qcard-open:focus-visible:after{outline:2px solid var(--primary);outline-offset:1px}.portal-asst-qcard:has(.portal-asst-qcard-open:hover){border-color:var(--primary-hover)}.portal-asst-qcard-when{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);flex:none}.portal-asst-qcard-tags{align-items:center;gap:var(--sp-3xs);margin:var(--sp-3xs) 0 0;flex-wrap:wrap;display:flex}.portal-asst-qcard-entity{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim)}.portal-asst-qcard-text{margin:var(--sp-2xs) 0 0;max-width:74ch;font-size:var(--fs-base);color:var(--fg-2);line-height:1.55}.portal-asst-qcard-repeats{font-size:var(--fs-xs);color:var(--fg-dim)}.portal-asst-qcard-acts{z-index:1;align-items:center;gap:var(--sp-xs);margin-top:var(--sp-xs);padding-top:var(--sp-2xs);border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex;position:relative}.portal-asst-qcard-spacer{flex:auto}.portal-asst-qlink{min-height:var(--ctl-h-sm);padding:0 var(--sp-2xs);margin-left:calc(var(--sp-2xs) * -1);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);color:var(--primary-hover);cursor:pointer;background:0 0;border:0;align-items:center;text-decoration:none;display:inline-flex}.portal-asst-qlink:hover{background:var(--bg-hover);text-decoration:underline}.portal-asst-qlink:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-asst-zero{align-items:flex-start;gap:var(--sp-xs);padding:var(--sp-xl) var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);flex-direction:column;display:flex}.portal-asst-zero-h{font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--fg);margin:0}.portal-asst-zero-p{margin:0 0 var(--sp-2xs);max-width:60ch;font-size:var(--fs-base);color:var(--fg-dim);line-height:1.6}.portal-asst-cleared{flex-direction:column;display:flex}.portal-asst-cleared-toggle{min-height:var(--ctl-h-sm);padding:0 var(--sp-2xs);margin-left:calc(var(--sp-2xs) * -1);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);color:var(--fg-dim);cursor:pointer;background:0 0;border:0;align-self:flex-start}.portal-asst-cleared-toggle:hover{background:var(--bg-hover);color:var(--fg-2)}.portal-asst-cleared-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-asst-runslink{min-height:var(--ctl-h-sm);padding:0 var(--sp-2xs);margin-left:calc(var(--sp-2xs) * -1);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--fg-dim);align-self:flex-start;align-items:center;text-decoration:none;display:inline-flex}.portal-asst-runslink:hover{background:var(--bg-hover);color:var(--fg-2)}.portal-asst-runslink:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-asst-ask{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-panel);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.portal-asst-askbar{align-items:center;gap:var(--sp-xs);padding:var(--sp-2xs) var(--sp-sm);border-bottom:1px solid var(--border);background:var(--bg-secondary);flex:none;display:flex}.portal-asst-askbar-spacer{flex:auto}.portal-asst-askbar-pickers{align-items:center;gap:var(--sp-2xs);flex:none;display:flex}.portal-asst-ask>.portal-asst-silence{border-width:0 0 1px;border-radius:0}.portal-asst-back{align-items:center;gap:var(--sp-3xs);min-height:44px;padding:0 var(--sp-sm) 0 var(--sp-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--fg-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);flex:none;display:inline-flex}.portal-asst-back:hover{background:var(--bg-hover);color:var(--fg)}.portal-asst-back:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-asst-recent{min-width:0;display:inline-flex}.portal-asst-recent-trigger{align-items:center;gap:var(--sp-2xs);max-width:34ch;min-height:44px;padding:0 var(--sp-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--fg);font:inherit;font-size:var(--fs-sm);cursor:pointer;display:inline-flex}.portal-asst-recent-trigger:hover{background:var(--bg-hover)}.portal-asst-recent-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-asst-recent-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.portal-asst-recent-caret{border-right:1.5px solid var(--fg-dim);border-bottom:1.5px solid var(--fg-dim);flex:none;width:6px;height:6px;transform:translateY(-2px)rotate(45deg)}.portal-asst-recent-panel{width:min(420px,100vw - 24px);padding:var(--sp-3xs)}.portal-asst-recent-list{margin:0;padding:0;list-style:none}.portal-asst-recent-row{align-items:baseline;gap:var(--sp-xs);width:100%;min-height:44px;padding:var(--sp-2xs) var(--sp-xs);border-radius:var(--radius-sm);font:inherit;text-align:left;color:var(--fg-2);cursor:pointer;background:0 0;border:0;display:flex}.portal-asst-recent-row:hover{background:var(--bg-hover)}.portal-asst-recent-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-asst-recent-row[data-selected=true]{background:var(--bg-hover);color:var(--fg)}.portal-asst-recent-row[data-unread=true] .portal-asst-recent-row-title{color:var(--fg);font-weight:var(--fw-medium)}.portal-asst-recent-row-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.portal-asst-recent-row-title{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-asst-recent-row-sub{font-size:var(--fs-xs);color:var(--fg-dim)}.portal-asst-recent-row-when{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);flex:none}.portal-asst-recent-empty{padding:var(--sp-sm);font-size:var(--fs-sm);color:var(--fg-dim);margin:0}.portal-asst-recent-broken{margin:0 0 var(--sp-3xs);padding:var(--sp-2xs) var(--sp-xs);border-radius:var(--radius-sm);background:var(--warning-light);font-size:var(--fs-xs);color:var(--fg)}.portal-asst-runs{gap:var(--sp-sm);padding-bottom:var(--sp-xl);flex-direction:column;display:flex}.portal-asst-runs-empty{font-size:var(--fs-sm);color:var(--fg-dim);margin:0}.portal-asst-runlist{margin:0;padding:0;list-style:none}.portal-asst-runrow{align-items:baseline;gap:var(--sp-xs);min-height:40px;padding:var(--sp-2xs) var(--sp-xs);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--fg-2);text-decoration:none;display:flex}.portal-asst-runrow:hover{background:var(--bg-hover);color:var(--fg)}.portal-asst-runrow:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-asst-runrow[data-selected=true]{background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--primary-edge)}.portal-asst-runrow-node{background:var(--primary-hover);border-radius:2px;flex:none;align-self:center;width:7px;height:7px}.portal-asst-runrow-node[data-tone=needs]{background:var(--warning)}.portal-asst-runrow-node[data-tone=failed]{background:var(--error)}.portal-asst-runrow-node[data-tone=running]{background:var(--primary);animation:1.4s ease-in-out infinite portal-asst-breathe}.portal-asst-runrow-kind{width:11ch;color:var(--fg);font-weight:var(--fw-medium);flex:none}.portal-asst-runrow-lead{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.portal-asst-runrow-cost{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);font-variant-numeric:tabular-nums;flex:none}.portal-asst-daymark{align-items:center;gap:var(--sp-xs);margin:var(--sp-sm) 0 var(--sp-3xs);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-dim);display:flex}.portal-asst-daymark:after{content:"";background:var(--border);flex:1;height:1px}.portal-asst-group{display:block}.portal-asst-list-broken{padding:var(--sp-xs) var(--sp-sm);border:1px solid var(--warning-edge);border-radius:var(--radius-md);background:var(--warning-light);font-size:var(--fs-sm);color:var(--fg);margin:0;line-height:1.5}.portal-asst-tag{padding:1px var(--sp-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-raised);font-size:var(--fs-xs);color:var(--fg-2);white-space:nowrap;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{min-width:18px;padding:0 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);justify-content:center;align-items:center;display:inline-flex}.portal-asst-item-when{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);flex:none}.portal-asst-stage{background:var(--bg-panel);flex-direction:column;flex:1;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);background:var(--bg-panel);flex:none;display:flex}.portal-asst-stage-title{flex:1;min-width:0}.portal-asst-stage-eyebrow{margin:0 0 var(--sp-4xs);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(--primary-hover);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-asst-stage-h{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.01em;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-logwrap{flex:1;min-height:0;display:flex;position:relative}.portal-asst-logwrap:before{content:"";z-index:1;pointer-events:none;opacity:0;height:10px;transition:opacity var(--t-base,.18s);background:linear-gradient(#0000006b,#0000);position:absolute;inset:0 0 auto}.portal-asst-logwrap[data-scrolled=true]:before{opacity:1}.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-xs) 0 var(--sp-md)}.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) var(--sp-2xs) var(--sp-lg);font-size:var(--fs-base);color:var(--fg-dim);position:relative}.portal-asst-opening-list li:before{content:"";left:var(--sp-xs);top:calc(var(--sp-2xs) + .8em - 3px);background:var(--primary-edge);border-radius:50%;width:6px;height:6px;position:absolute}.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(58ch,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-md);align-self:flex-start;position:relative}.portal-asst-msg[data-from=assistant]:before{content:"";left:0;top:calc(var(--sp-4xs) + .8em - 3px);background:var(--primary-hover);border-radius:50%;width:6px;height:6px;position:absolute}.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:stretch;width:100%;min-width:0;max-width:82ch}.portal-asst-steps-toggle{align-items:center;gap:var(--sp-xs);width:100%;min-height:var(--ctl-h-sm);padding:var(--sp-4xs) var(--sp-2xs) var(--sp-4xs) 0;border-radius:var(--radius-sm);color:var(--fg-dim);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:color var(--t-fast,.12s), background var(--t-fast,.12s);background:0 0;border:0;display:flex}.portal-asst-steps-toggle:hover{color:var(--fg-2);background:var(--surface-overlay)}.portal-asst-steps-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-asst-steps-rail{flex:none;align-items:center;gap:2px;display:inline-flex}.portal-asst-steps-notch{background:var(--border-hover);border-radius:1px;width:2px;height:11px}.portal-asst-steps-toggle:hover .portal-asst-steps-notch,.portal-asst-steps[data-open=true] .portal-asst-steps-notch{background:var(--primary-hover)}.portal-asst-steps-summary{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.portal-asst-steps-more{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim);flex:none}.portal-asst-steps-toggle:hover .portal-asst-steps-more{color:var(--primary-hover)}.portal-asst-steps-list{margin:var(--sp-3xs) 0 0 5px;padding:var(--sp-2xs) 0 var(--sp-2xs) var(--sp-sm);border-left:1px solid var(--border);gap:var(--sp-2xs);font-size:var(--fs-sm);color:var(--fg-2);flex-direction:column;list-style:decimal;display:flex}.portal-asst-steps-list li{margin-left:var(--sp-sm)}.portal-asst-steps-list li::marker{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim)}.portal-asst-steps-verb{color:var(--fg-2);display:block}.portal-asst-steps-detail{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);overflow-wrap:anywhere;margin-top:1px;display:block}.portal-asst-note{--note-tone:var(--border-hover);max-width:82ch;padding-left:var(--sp-md);font-size:var(--fs-sm);color:var(--fg-dim);align-self:flex-start;margin:0;position:relative}.portal-asst-note:before{content:"";background:var(--note-tone);border-radius:50%;width:6px;height:6px;position:absolute;top:calc(.75em - 3px);left:0}.portal-asst-note[data-kind=ok]{--note-tone:var(--success);color:var(--fg-2)}.portal-asst-note[data-kind=no]{--note-tone:var(--warning);color:var(--fg-2)}.portal-asst-note[data-kind=ask]{--note-tone:var(--warning)}.portal-asst-note[data-kind=sys]{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,.portal-asst-node[data-tone=running],.portal-tape-col[data-tone=running] .portal-tape-bar{opacity:1;animation:none}.portal-asst-logwrap:before{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-inputbox{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-deep);transition:border-color var(--t-fast,.12s), box-shadow var(--t-fast,.12s)}.portal-asst-inputbox:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.portal-asst-input{resize:none;width:100%;padding:var(--sp-xs) var(--sp-sm) var(--sp-2xs);color:var(--fg);font-family:inherit;font-size:var(--fs-base);background:0 0;border:0;line-height:1.55;display:block}.portal-asst-input:focus-visible{outline:none}.portal-asst-input:disabled{opacity:.6}.portal-asst-composer-actions{justify-content:space-between;align-items:center;gap:var(--sp-xs);padding:0 var(--sp-2xs) var(--sp-2xs) var(--sp-sm);display:flex}.portal-asst-hint{align-items:center;gap:var(--sp-3xs);font-size:var(--fs-xs);color:var(--fg-dim);display:flex}.portal-asst-hint kbd{border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--bg-raised);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2);border-bottom-width:2px;padding:1px 4px}.portal-asst-composer{position:relative}.portal-asst-composer[data-dragging=true] .portal-asst-inputbox{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle)}.portal-asst-drophint{inset:auto var(--sp-panel) var(--sp-md);padding:var(--sp-2xs) var(--sp-sm);border-radius:var(--radius-md);background:var(--primary);color:var(--color-white);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:center;pointer-events:none;margin:0;position:absolute}.portal-asst-files{gap:var(--sp-2xs);margin:0 0 var(--sp-2xs);flex-wrap:wrap;padding:0;list-style:none;display:flex}.portal-asst-file{align-items:center;gap:var(--sp-2xs);max-width:100%;min-height:var(--ctl-h-sm);padding:0 var(--sp-3xs) 0 var(--sp-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-raised);font-size:var(--fs-sm);color:var(--fg);display:inline-flex}.portal-asst-file[data-uploading=true]{opacity:.6}.portal-asst-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:34ch;overflow:hidden}.portal-asst-file-size{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);flex:none}.portal-asst-file-x{width:var(--ctl-h-sm);height:var(--ctl-h-sm);border-radius:var(--radius-xs);color:var(--fg-dim);font-size:var(--fs-lg);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;line-height:1;display:grid}.portal-asst-file-x:hover{background:var(--bg-hover);color:var(--fg)}.portal-asst-file-x:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-asst-fileinput{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.portal-asst-clip{width:var(--ctl-h-sm);height:var(--ctl-h-sm);border-radius:var(--radius-sm);color:var(--fg-dim);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:grid}.portal-asst-clip:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.portal-asst-clip:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-asst-clip:disabled{opacity:.4;cursor:not-allowed}.portal-asst-composer-actions .portal-asst-hint{flex:1}.portal-asst-msg-files{gap:var(--sp-3xs);margin:var(--sp-2xs) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.portal-asst-msg-file{align-items:center;gap:var(--sp-3xs);padding:1px var(--sp-2xs);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-raised);font-size:var(--fs-xs);color:var(--fg-2);display:inline-flex}.portal-asst-report{margin:0 0 var(--sp-xs);padding-bottom:var(--sp-md);border-bottom:1px solid var(--border);align-self:stretch}.portal-asst-log .portal-asst-stage-head{margin:calc(-1 * var(--sp-md)) calc(-1 * var(--sp-panel)) var(--sp-xs)}.portal-asst-gauges{gap:var(--sp-sm) var(--sp-md);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(124px,1fr));display:grid}.portal-asst-gauge{gap:var(--sp-4xs);flex-direction:column;min-width:0;display:flex}.portal-asst-gauge-label{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)}.portal-asst-gauge-value{font-size:var(--fs-lg);color:var(--fg);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-asst-gauge-track{height:4px;margin-top:var(--sp-4xs);border-radius:var(--radius-pill);background:var(--bg-deep);box-shadow:inset 0 0 0 1px var(--border);display:block;position:relative;overflow:hidden}.portal-asst-gauge-fill{border-radius:var(--radius-pill);background:var(--primary-hover);position:absolute;inset:0 auto 0 0}.portal-asst-gauge[data-tone=high] .portal-asst-gauge-fill{background:var(--warning)}.portal-asst-gauge[data-tone=high] .portal-asst-gauge-note{color:var(--warning)}.portal-asst-gauge-norm{background:var(--fg-2);width:1px;position:absolute;top:-1px;bottom:-1px;left:50%}.portal-asst-gauge-note{min-height:14px;font-size:var(--fs-xs);color:var(--fg-dim)}.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:none}.portal-asst-lede{margin:0 0 var(--sp-sm);font-size:var(--fs-lg);line-height:1.5;font-weight:var(--fw-medium);letter-spacing:-.01em;color:var(--fg)}.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[data-ordered=true]{list-style:decimal}.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 em{color:var(--fg);font-style:italic}.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:46ch;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);transition:border-color var(--t-fast,.12s), background var(--t-fast,.12s);align-items:center;display:flex}.portal-asst-doccard:hover{border-color:var(--border-strong);background:var(--bg-raised)}.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:92px;height:74px;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-kind{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(--primary-hover)}.portal-asst-doccard-title{color:var(--fg);font-size:var(--fs-base);font-weight:var(--fw-semibold);overflow-wrap:anywhere;line-height:1.35;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-stage-head,.portal-asst-log,.portal-asst-composer{padding-left:var(--sp-sm);padding-right:var(--sp-sm)}.portal-asst-askbar{row-gap:var(--sp-2xs);flex-wrap:wrap}.portal-asst-askbar-spacer{display:none}.portal-asst-askbar-pickers{flex-basis:100%;order:1}.portal-tape[data-view=full]{padding-left:var(--sp-sm);padding-right:var(--sp-sm)}.portal-tape-days{display:none}.portal-tape-figure-value{font-size:var(--fs-xl)}.portal-tape-band{gap:var(--sp-2xs) var(--sp-sm);flex-wrap:wrap}.portal-tape-band .portal-tape-plot{flex:1 0 100%}.portal-tape-inline{gap:2px var(--sp-sm);flex-wrap:wrap;flex:auto;width:auto;min-height:0;display:flex}.portal-asst-runrow-cost{display:none}.portal-asst-runrow-kind{width:9ch}}@media (pointer:coarse) and (max-width:767px){.portal-asst-hint{display:none}}@media (max-width:420px){.portal-asst-qcard-acts{align-items:stretch}.portal-asst-qcard-spacer{display:none}}.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}@media (max-width:767px){.portal-dash-kpis{align-items:start}.portal-kpi-breakdown-label{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}.portal-kpi-breakdown a{padding-top:var(--sp-4xs);padding-bottom:var(--sp-4xs);align-items:flex-start}}.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-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-list{z-index:210;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:5px;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #00000047}.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-shell[data-dock=true] .portal-railtrigger,.portal-shell[data-dock=true] .portal-rail-scrim,.portal-shell[data-dock=true] .portal-rail{display:none}.portal-shell[data-dock=true] .portal-topbar{padding-left:14px}.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{flex-wrap:wrap}.portal-gridbar-lensrun .portal-datagrid-chip{min-height:var(--ctl-h)}.portal-panel-head{flex-wrap:wrap}.portal-panel-heading{flex:100%}.portal-page-head{margin-bottom:var(--sp-sm);flex-wrap:wrap;align-items:flex-start}.portal-h1{font-size:var(--fs-2xl)}.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{margin-bottom:var(--sp-2xs);flex-wrap:wrap;row-gap:0}.portal-crumb a{min-height:var(--ctl-h-sm);align-items:center;display:inline-flex}.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-cardsroot .portal-datagrid-cardline{row-gap:var(--sp-3xs);flex-wrap:wrap}.portal-datagrid-cardsroot .portal-datagrid-cardtitle{flex:1 0 60%}.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{padding:14px 14px calc(var(--dock-h) + var(--dock-lift) + var(--safe-bottom) + 14px);--gauge-bleed:14px}.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(var(--modal-pad) + env(safe-area-inset-bottom,0px));animation:portal-dock-rise var(--t-base);margin:0;padding-top:0}.portal-sheet-grab{z-index:1;height:30px;margin:0 calc(-1 * var(--modal-pad,0px)) var(--sp-2xs);background:var(--bg-panel);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;touch-action:none;cursor:grab;flex:none;justify-content:center;align-items:center;display:flex;position:sticky;top:0}.portal-sheet-grab-bar{border-radius:var(--radius-pill);background:var(--border-strong);width:36px;height:4px}.portal-modal--owns-scroll .portal-sheet-grab{margin:0;position:static}@media (prefers-reduced-motion:reduce){.portal-modal{animation:none}.portal-modal-backdrop>[data-sheet=settling]{transition:none}}.portal-modal-actions{flex-direction:column-reverse}.portal-modal-actions>*{width:100%}.portal-popover-x{width:var(--ctl-h);height:var(--ctl-h)}.portal-cal-dossier-actions,.portal-cal-dossier-actions .portal-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.portal-cal-dossier-actions>.portal-actions{grid-column:1/-1}.portal-cal-dossier-actions .portal-btn{width:100%}.portal-cal-when{grid-template-columns:minmax(0,1fr)}.portal-cal-when-run{justify-self:start;margin-top:4px}.portal-cal-notes-facts>div{grid-template-columns:minmax(0,1fr)}.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}}.portal-pc-ledger{--pc-menu-w:32px;--pc-item-min:240px;--pc-cols:minmax(var(--pc-item-min), 1fr) 56px 72px 96px 104px var(--pc-menu-w);--pc-min-w:640px;flex-direction:column;display:flex;overflow-x:auto}.portal-pc-ledger[data-view=margin]{--pc-cols:minmax(var(--pc-item-min), 1fr) 56px 92px 96px 92px 104px var(--pc-menu-w);--pc-min-w:760px}.portal-pc-head,.portal-pc-row{grid-template-columns:var(--pc-cols);gap:var(--sp-xs);min-width:var(--pc-min-w);align-items:center;display:grid}.portal-pc-head{height:var(--thead-h);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-2);border-bottom:1px solid var(--border);padding:0 var(--sp-2xs)}.portal-pc-head>span{min-width:0}.portal-pc-head>span:first-child{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:-.01em;text-transform:none;color:var(--fg)}.portal-pc-num{text-align:right}.portal-pc-row{padding:var(--sp-4xs) var(--sp-2xs);border-bottom:1px solid var(--hairline);border-radius:var(--radius-xs)}.portal-pc-row:hover{background:var(--surface-overlay)}.portal-pc-row[data-underwater=true]{background:var(--error-light)}.portal-pc-inp{width:100%;height:var(--ctl-h-sm);min-width:0;padding:0 var(--sp-2xs);border-radius:var(--radius-sm);color:var(--fg);font-family:inherit;font-size:var(--fs-base);transition:background var(--t-fast), border-color var(--t-fast);background:0 0;border:1px solid #0000}.portal-pc-inp::placeholder{color:var(--fg-dim)}.portal-pc-inp:hover:not(:disabled){background:var(--bg-deep);border-color:var(--border)}.portal-pc-inp:focus{background:var(--bg-deep);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.portal-pc-inp:disabled{color:var(--fg-2);cursor:default}.portal-pc-inp--num{text-align:right;font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.portal-pc-inp--cost{color:var(--fg-2)}.portal-pc-cell--item .portal-combobox{width:100%}.portal-pc-fig{font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:right;padding-right:var(--sp-2xs);color:var(--fg);white-space:nowrap}.portal-pc-fig[data-zero=true]{color:var(--fg-dim)}.portal-pc-fig[data-tone=good]{color:var(--success)}.portal-pc-fig[data-tone=bad]{color:var(--error)}.portal-pc-fig[data-tone=muted]{color:var(--fg-dim)}.portal-pc-fig-sub{font-size:var(--fs-xs);color:var(--fg-dim);line-height:1.3;display:block}.portal-pc-meta{align-items:center;gap:var(--sp-2xs);padding:0 var(--sp-2xs) var(--sp-3xs) calc(var(--sp-2xs) + var(--sp-xs));font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);flex-wrap:wrap;display:flex}.portal-pc-meta-mark{align-items:center;gap:var(--sp-4xs);padding:0 var(--sp-2xs);border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--bg-raised);height:18px;color:var(--fg-2);display:inline-flex}.portal-pc-meta-mark[data-tone=warn]{border-color:var(--warning-edge);background:var(--warning-light);color:var(--fg)}.portal-pc-meta-mark[data-tone=info]{border-color:var(--info-edge);background:var(--info-light);color:var(--fg)}.portal-pc-group{align-items:center;gap:var(--sp-2xs);min-width:var(--pc-min-w);height:var(--group-h);margin-top:var(--sp-2xs);padding:0 var(--sp-2xs) 0 var(--sp-xs);background:var(--bg-raised);border-radius:var(--radius-sm);display:flex}.portal-pc-group-name{min-width:0;height:var(--ctl-h-sm);border-radius:var(--radius-sm);padding:0 var(--sp-2xs);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg);background:0 0;border:1px solid #0000;flex:auto}.portal-pc-group-name:hover:not(:disabled){background:var(--bg-deep);border-color:var(--border)}.portal-pc-group-name:focus{background:var(--bg-deep);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.portal-pc-group-meta{font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--fg-2);white-space:nowrap}.portal-pc-phase-name{min-width:0;padding:0 var(--sp-2xs);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.portal-pc-ledger--ps,.portal-pc-ledger--ps[data-view=margin]{--pc-cols:minmax(var(--pc-item-min), 1fr) var(--pc-menu-w);--pc-min-w:360px}.portal-pc-phase-price{flex:none;width:128px}.portal-pc-foot-inp{width:144px}.portal-pc-foot--cost{border-top:none}.portal-pc-ledger-note{margin:var(--sp-2xs) 0 var(--sp-3xs);min-width:var(--pc-min-w)}.portal-pc-foot-note{margin:var(--sp-3xs) 0 0;text-align:right;min-width:var(--pc-min-w)}.portal-pc-foot{justify-content:flex-end;align-items:baseline;gap:var(--sp-xs);min-width:var(--pc-min-w);padding:var(--sp-xs) calc(var(--pc-menu-w) + var(--sp-xs) + var(--sp-2xs)) 0 0;border-top:1px solid var(--border);margin-top:var(--sp-2xs);display:flex}.portal-pc-foot-label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim)}.portal-pc-foot-value{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--fg)}.portal-pc-adds{gap:var(--sp-2xs);margin-top:var(--sp-xs);flex-wrap:wrap;display:flex}.portal-pc-empty{margin:var(--sp-sm) 0;color:var(--fg-dim);font-size:var(--fs-sm)}.portal-pc-explain{color:var(--fg-dim);font-size:var(--fs-sm);margin:0;line-height:1.5}.portal-pc-derived{flex-direction:column;gap:7px;display:flex}.portal-pc-derived .portal-pc-fig{text-align:left;line-height:var(--ctl-h);padding-right:0}.portal-pc-sections{gap:var(--sp-lg);flex-direction:column;display:flex}.portal-pc-stack{gap:var(--sp-4xs);flex-direction:column;display:flex}.portal-pc-stack-row{align-items:baseline;gap:var(--sp-xs);font-size:var(--fs-sm);display:flex}.portal-pc-stack-row>.label{min-width:0;color:var(--fg-2);flex:auto}.portal-pc-stack-row>.value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg);white-space:nowrap}.portal-pc-stack-row[data-kind=minor]>.label{padding-left:var(--sp-sm);color:var(--fg-dim)}.portal-pc-stack-row[data-kind=minor]>.value{color:var(--fg-dim)}.portal-pc-stack-row[data-kind=grand]{margin-top:var(--sp-2xs);padding-top:var(--sp-xs);border-top:1px solid var(--border-strong)}.portal-pc-stack-row[data-kind=grand]>.label{color:var(--fg);font-weight:var(--fw-semibold)}.portal-pc-stack-row[data-kind=grand]>.value{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em}.portal-pc-meter{gap:var(--sp-2xs);flex-direction:column;display:flex}.portal-pc-meter .portal-error,.portal-pc-commit .portal-error{margin:0}.portal-pc-meter-bar{border-radius:var(--radius-pill);background:var(--bg-deep);border:1px solid var(--hairline);height:10px;display:flex;overflow:hidden}.portal-pc-meter-seg{height:100%}.portal-pc-meter-seg[data-part=cost]{background:var(--fg-nontext)}.portal-pc-meter-seg[data-part=margin]{background:var(--success)}.portal-pc-meter-seg[data-part=loss]{background:var(--error)}.portal-pc-meter-legend{gap:var(--sp-sm);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-dim);flex-wrap:wrap;display:flex}.portal-pc-meter-legend>span{align-items:center;gap:var(--sp-3xs);display:inline-flex}.portal-pc-meter-key{border-radius:var(--radius-xs);flex:none;width:8px;height:8px}.portal-pc-meter-key[data-part=cost]{background:var(--fg-nontext)}.portal-pc-meter-key[data-part=margin]{background:var(--success)}.portal-pc-meter-key[data-part=loss]{background:var(--error)}.portal-pc-ready{gap:var(--sp-4xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-pc-ready-item{gap:var(--sp-2xs);padding:var(--sp-3xs) var(--sp-2xs);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--fg-2);grid-template-columns:16px minmax(0,1fr);align-items:start;text-decoration:none;display:grid}a.portal-pc-ready-item:hover{background:var(--bg-hover);color:var(--fg)}.portal-pc-ready-item[data-state=ok]{color:var(--fg-dim)}.portal-pc-ready-mark{font-family:var(--font-mono);font-size:var(--fs-sm);text-align:center;line-height:1.5}.portal-pc-ready-item[data-state=ok] .portal-pc-ready-mark{color:var(--success)}.portal-pc-ready-item[data-state=block] .portal-pc-ready-mark{color:var(--error)}.portal-pc-ready-item[data-state=advise] .portal-pc-ready-mark{color:var(--warning)}.portal-pc-ready-item[data-state=block] .portal-pc-ready-label{color:var(--fg)}.portal-pc-ready-detail{margin-top:var(--sp-4xs);color:var(--fg-dim);font-size:var(--fs-sm);line-height:1.5;display:block}.portal-pc-commit{gap:var(--sp-2xs);flex-direction:column;display:flex}.portal-pc-commit-row{gap:var(--sp-2xs);display:flex}.portal-pc-commit-row>*{flex:auto;justify-content:center}@media (max-width:900px){.portal-pc-head{height:auto;margin-bottom:var(--sp-2xs);border-bottom:none;padding:0;display:block}.portal-pc-head>span:not(:first-child){display:none}.portal-pc-ledger,.portal-pc-ledger[data-view=margin]{--pc-cols:repeat(2, minmax(0, 1fr));--pc-min-w:0;--pc-item-min:0;overflow-x:visible}.portal-pc-row{row-gap:var(--sp-2xs);padding:var(--sp-2xs);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--sp-2xs)}.portal-pc-cell--item{grid-column:1/-1}.portal-pc-cell--menu{grid-column:2;justify-self:end}.portal-pc-cell[data-label]:before{content:attr(data-label);margin-bottom:var(--sp-4xs);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim);display:block}.portal-pc-cell--item[data-label]:before{content:none}.portal-pc-fig{text-align:left;padding-right:0}.portal-pc-foot{padding-right:0}.portal-pc-meta{padding-left:var(--sp-2xs)}}@media print{.portal-rail,.portal-topbar,.portal-iris-dock,.no-print{display:none!important}.portal-shell{display:block!important}.portal-main{max-width:none!important;margin:0!important;padding:0!important}}.portal-pc-book-list{gap:var(--sp-sm);max-height:min(44vh,360px);margin-top:var(--sp-sm);padding-right:var(--sp-3xs);flex-direction:column;display:flex;overflow-y:auto}.portal-pc-book-cat{gap:var(--sp-3xs);flex-direction:column;display:flex}.portal-pc-book-cat-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg-2);margin:0}.portal-pc-book-row{align-items:center;gap:var(--sp-sm);cursor:pointer;padding:var(--sp-2xs) var(--sp-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);transition:border-color var(--t-fast), background var(--t-fast);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.portal-pc-book-row:hover{border-color:var(--border-hover);background:var(--bg-hover)}.portal-pc-book-row[data-selected=true]{border-color:var(--primary-edge);background:var(--primary-subtle)}.portal-pc-book-radio{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.portal-pc-book-dot{border:1px solid var(--border-hover);border-radius:50%;width:15px;height:15px;position:relative}.portal-pc-book-dot:after{content:"";background:var(--primary);opacity:0;transition:opacity var(--t-fast), transform var(--t-fast);border-radius:50%;position:absolute;inset:3px;transform:scale(.4)}.portal-pc-book-row[data-selected=true] .portal-pc-book-dot{border-color:var(--primary)}.portal-pc-book-row[data-selected=true] .portal-pc-book-dot:after{opacity:1;transform:none}.portal-pc-book-radio:focus-visible+.portal-pc-book-dot{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.portal-pc-book-name{gap:var(--sp-4xs);min-width:0;font-size:var(--fs-base);color:var(--fg);flex-direction:column;display:flex}.portal-pc-book-price{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.portal-pc-book-per{font-size:var(--fs-sm);color:var(--fg-dim)}.portal-pc-book-detail{gap:var(--sp-sm);margin-top:var(--sp-md);padding-top:var(--sp-sm);border-top:1px solid var(--hairline);flex-direction:column;display:flex}.portal-pc-book-mods{gap:var(--sp-3xs) var(--sp-sm);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.portal-pc-book-delta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2)}.portal-pc-book-sum{font-size:var(--fs-base);color:var(--fg-2);margin:0}.portal-pc-book-sum strong{color:var(--fg);font-variant-numeric:tabular-nums}.portal-pc-ledger--ps .portal-pc-row--book{--pc-cols:minmax(var(--pc-item-min), 1fr) 64px 112px 104px var(--pc-menu-w);min-width:560px}.portal-pc-ledger--ps .portal-pc-row--book[data-view=margin]{--pc-cols:minmax(var(--pc-item-min), 1fr) 64px 112px 96px 72px 104px var(--pc-menu-w);min-width:740px}.portal-pc-phase-book{align-items:baseline;gap:var(--sp-2xs);flex:none;justify-content:flex-end;min-width:128px;display:inline-flex}.portal-pc-phase-book-tag{font-size:var(--fs-xs);color:var(--fg-dim);white-space:nowrap}.portal-pc-group--phase .portal-pc-group-meta{align-items:baseline;gap:var(--sp-3xs);flex-wrap:wrap;display:inline-flex}@media (max-width:900px){.portal-pc-ledger--ps .portal-pc-row--book,.portal-pc-ledger--ps .portal-pc-row--book[data-view=margin]{--pc-cols:repeat(2, minmax(0, 1fr));min-width:0}.portal-pc-group--phase{height:auto;padding-top:var(--sp-3xs);padding-bottom:var(--sp-3xs);flex-wrap:wrap}}.portal-pc-fig--text{text-align:left;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--fg-2)}.portal-pc-readouts{gap:var(--sp-sm) var(--sp-xl);margin:var(--sp-sm) 0 0;padding-top:var(--sp-sm);border-top:1px solid var(--hairline);flex-wrap:wrap;display:flex}.portal-pc-readouts>div{gap:var(--sp-4xs);flex-direction:column;min-width:0;display:flex}.portal-pc-readouts dt{font-size:var(--fs-xs);color:var(--fg-dim)}.portal-pc-readouts dd{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--fg);font-variant-numeric:tabular-nums;margin:0}.portal-pc-readouts dd[data-tone=bad]{color:var(--error)}.portal-pc-discount-reason{flex:100%}.portal-asst-rollup{flex-direction:column;display:flex}.portal-asst-item[data-type=digest] .portal-asst-item-title{color:var(--fg-2);font-weight:500}.portal-asst-item[data-type=digest] .portal-asst-node{opacity:.55}.portal-asst-rollup-list{margin:0 0 var(--sp-2xs);padding:var(--sp-3xs) 0 var(--sp-3xs) 34px;flex-direction:column;gap:2px;list-style:none;display:flex}.portal-asst-rollup-run{align-items:baseline;gap:var(--sp-2xs);width:100%;padding:var(--sp-3xs) var(--sp-2xs);border-radius:var(--radius-sm);text-align:left;font:inherit;color:var(--fg-2);cursor:pointer;background:0 0;border:0;display:flex}.portal-asst-rollup-run:hover{background:var(--bg-hover)}.portal-asst-rollup-run:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-asst-rollup-run[data-selected=true]{background:var(--bg-hover);color:var(--fg)}.portal-asst-rollup-run-kind{font-size:var(--fs-xs);color:var(--fg);flex:none;font-weight:600}.portal-asst-rollup-run-lead{min-width:0;font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.portal-asst-flags{margin:0 0 var(--sp-sm);padding:var(--sp-xs) var(--sp-sm);border:1px solid var(--warning-edge);border-radius:var(--radius-md);background:var(--warning-light)}.portal-asst-flags-h{margin:0 0 var(--sp-3xs);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);font-weight:700}.portal-asst-flags-list{font-size:var(--fs-sm);color:var(--fg);margin:0;padding-left:1.1em}.portal-asst-flags-list li{margin-bottom:var(--sp-3xs)}.portal-asst-flags-list li:last-child{margin-bottom:0}.portal-asst-runfacts{margin:0 0 var(--sp-xs);font-size:var(--fs-xs);color:var(--fg-dim)}.portal-asst-payload{margin:var(--sp-3xs) 0 0}.portal-asst-payload-toggle{font-size:var(--fs-xs);color:var(--fg-dim);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.portal-asst-payload-toggle:hover{color:var(--fg)}.portal-asst-payload-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.portal-asst-payload-body{margin:var(--sp-3xs) 0 0;padding:var(--sp-2xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-deep);max-height:320px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg-2);white-space:pre-wrap;word-break:break-word;line-height:1.5;overflow:auto}.portal-asst-payload-note{margin:var(--sp-3xs) 0 0;font-size:var(--fs-xs);color:var(--fg-dim)}@media (max-width:767px){.portal-seg-btn{height:var(--ctl-h)}.portal-cal-today{min-height:var(--touch-target-min)}.portal-cal-step,.portal-tape-toggle{width:var(--touch-target-min);height:var(--touch-target-min)}.portal-tab{min-height:var(--touch-target-min)}.portal-btn--sm{height:var(--ctl-h)}.portal-kpi-breakdown a,.portal-datagrid-groupbar button{min-height:var(--touch-target-min)}.portal-root input[type=checkbox]{width:24px;height:24px}label.portal-controls,.portal-account-action{min-height:var(--touch-target-min)}a.portal-count{min-height:var(--touch-target-min);align-items:center;display:inline-flex}}.portal-dock-index-foot{margin-top:var(--sp-md);padding-top:var(--sp-sm);border-top:1px solid var(--border)}.portal-appbar{display:none}@media (max-width:767px),(max-height:767px) and (max-width:1199px) and (pointer:coarse){.portal-shell[data-dock=true] .portal-topbar,.portal-shell[data-dock=true] .portal-page-head{display:none}.portal-shell[data-dock=true]{grid-template-rows:1fr}.portal-shell[data-dock=true] .portal-main{grid-row:1}.portal-shell[data-dock=true] .portal-appbar{align-items:baseline;column-gap:var(--sp-2xs);row-gap:var(--sp-3xs);margin-bottom:var(--sp-sm);flex-wrap:wrap;display:flex}.portal-appbar-title{min-width:0;font-size:var(--fs-2xl);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;margin:0;font-weight:700;line-height:1.15;overflow:hidden}.portal-appbar-action{align-items:center;gap:var(--sp-2xs);flex:none;margin-left:auto;display:flex}.portal-appbar-help{flex:none;position:relative}.portal-appbar-help>summary{width:var(--touch-target-min);height:var(--touch-target-min);cursor:pointer;color:var(--fg-dim);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;margin-inline-start:calc(var(--sp-3xs) * -1);list-style:none;display:flex}.portal-appbar-help>summary::-webkit-details-marker{display:none}.portal-appbar-help>summary:after{content:"i";width:17px;height:17px;font-family:var(--font-mono);font-size:var(--fs-xs);border:1px solid;border-radius:50%;justify-content:center;align-items:center;font-style:italic;line-height:1;display:flex}.portal-appbar-help[open]>summary{color:var(--fg)}.portal-appbar-helppanel{z-index:40;top:calc(var(--touch-target-min) - var(--sp-2xs));width:min(320px, calc(100vw - var(--sp-md) * 2));padding:var(--sp-sm) var(--sp-md);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);position:absolute;right:0}.portal-appbar-helppanel .portal-sub{font-size:var(--fs-sm);margin:0}.portal-shell[data-dock=true] .portal-panel-explain{display:none}}.noc-readiness-legend{gap:var(--sp-2xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.noc-readiness-legend strong{color:var(--fg);font-weight:var(--fw-semibold)}.noc-readiness-domain{border-top-width:3px}.noc-readiness-domain.is-ready{border-top-color:var(--success)}.noc-readiness-domain.is-partial{border-top-color:var(--warning)}.noc-readiness-domain.is-unobserved{border-top-color:var(--fg-nontext)}.noc-readiness-signals,.noc-readiness-claims{gap:var(--sp-2xs);font-size:var(--fs-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.noc-readiness-signal,.noc-readiness-blocked,.noc-readiness-claim{line-height:1.5}.noc-readiness-claim{padding-left:var(--sp-sm);border-left:2px solid var(--border)}.noc-readiness-caveat{margin:var(--sp-xs) 0 0}.noc-ops-health{gap:var(--sp-md) var(--sp-xl);flex-wrap:wrap;display:flex}.noc-ops-health-item{gap:var(--sp-3xs);flex-direction:column;min-width:0;display:flex}.noc-ops-health-label{font-size:var(--fs-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-dim)}.noc-ops-health-value{font-size:var(--fs-base);color:var(--fg);font-weight:var(--fw-semibold)}.noc-ops-note{margin:var(--sp-sm) 0 0}.portal-paper{gap:var(--sp-md);flex-direction:column;max-width:92ch;display:flex}.portal-paper-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--fg);margin:0;line-height:1.25}.portal-paper-subtitle{color:var(--fg-2);font-size:var(--fs-base);margin:0}.portal-paper-heading{margin:var(--sp-sm) 0 0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--fg)}.portal-paper-heading-no{font-variant-numeric:tabular-nums;color:var(--primary-light);margin-right:var(--sp-xs)}.portal-paper-clause{gap:var(--sp-3xs);flex-direction:column;display:flex}.portal-paper-clause-head{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--fg);margin:0}.portal-paper-clause-no{font-variant-numeric:tabular-nums;color:var(--fg-dim);margin-right:var(--sp-xs)}.portal-paper-caption{margin:var(--sp-xs) 0 0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg-2)}.portal-paper-foot{gap:var(--sp-md);font-size:var(--fs-sm);color:var(--fg-2);flex-wrap:wrap;display:flex}.portal-paper-foot-value{color:var(--fg);font-weight:var(--fw-semibold);margin-left:var(--sp-3xs)}.portal-paper-sigs{gap:var(--sp-sm);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.portal-paper-sig{border-top:2px solid var(--fg);padding-top:var(--sp-sm);gap:var(--sp-3xs);flex-direction:column;display:flex}.portal-paper-sig-party{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg-2)}.portal-paper-sig-name{font-size:var(--fs-lg);color:var(--fg)}.portal-paper-sig-empty{font-size:var(--fs-sm);color:var(--fg-dim);font-style:italic}.portal-faceplate{gap:var(--sp-sm) var(--sp-md);padding:var(--sp-sm) calc(var(--sp-lg) + var(--sp-xs));background:var(--bg-deep);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-wrap:wrap;display:flex;position:relative}.portal-faceplate:before,.portal-faceplate:after{content:"";top:var(--sp-sm);bottom:var(--sp-sm);width:var(--sp-sm);border-radius:var(--radius-xs);background:radial-gradient(circle, var(--border-hover) 2px, transparent 3px) center top / 100% 24px repeat-y;position:absolute}.portal-faceplate:before{left:var(--sp-xs)}.portal-faceplate:after{right:var(--sp-xs)}.portal-faceplate-name{margin:0 0 var(--sp-2xs);font-size:var(--fs-sm);color:var(--fg-2)}.portal-faceplate-name strong{color:var(--fg);font-family:var(--font-mono);font-weight:var(--fw-semibold)}.portal-bay{gap:var(--sp-2xs);flex-direction:column;min-width:0;display:flex}.portal-bay-band{justify-content:space-between;gap:var(--sp-xs);padding:0 var(--sp-2xs);border-top:2px solid var(--bay-slot,var(--cat-8));font-size:var(--fs-xs);color:var(--fg-2);white-space:nowrap;display:flex}.portal-bay-band .range{font-family:var(--font-mono);color:var(--fg-dim)}.portal-bay[data-class=access_point]{--bay-slot:var(--cat-3)}.portal-bay[data-class=camera]{--bay-slot:var(--cat-2)}.portal-bay[data-class=data]{--bay-slot:var(--cat-5)}.portal-bay[data-class=uplink]{--bay-slot:var(--cat-1)}.portal-bay-ports{gap:var(--sp-3xs);max-width:calc(12 * var(--ctl-h) + 11 * var(--sp-3xs));flex-wrap:wrap;display:flex}.portal-port{box-sizing:border-box;width:var(--ctl-h);height:var(--ctl-h);border:1px var(--port-line,solid) var(--port-edge);border-radius:var(--radius-xs);background:var(--port-fill);color:var(--port-ink,var(--fg));line-height:1.5;font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:center;align-items:flex-end;padding:0;display:inline-flex;position:relative}.portal-port:before{content:"";top:var(--sp-3xs);width:45%;height:var(--sp-2xs);border-radius:0 0 var(--radius-xs) var(--radius-xs);background:var(--bg-deep);border:1px solid var(--port-edge);border-top:none;position:absolute;left:50%;transform:translate(-50%)}.portal-port:hover{border-color:var(--fg-2)}.portal-port:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.portal-port[aria-pressed=true]{outline:2px solid var(--fg);outline-offset:2px}.portal-port:disabled{cursor:default}.portal-port--accepted{--port-fill:var(--success-light);--port-edge:var(--success-edge)}.portal-port--waiting{--port-fill:var(--warning-light);--port-edge:var(--warning)}.portal-port--working{--port-fill:var(--info-light);--port-edge:var(--info-edge)}.portal-port--planned{--port-fill:var(--bg-hover);--port-edge:var(--fg-dim)}.portal-port--sent-back{--port-fill:var(--error-light);--port-edge:var(--error-edge)}.portal-port--changed{--port-fill:repeating-linear-gradient(135deg, var(--error-light) 0 4px, transparent 4px 8px);--port-edge:var(--error)}.portal-port--existing{--port-fill:transparent;--port-edge:var(--cat-8);--port-line:dashed}.portal-port--empty{--port-fill:transparent;--port-edge:var(--border);--port-ink:var(--fg-nontext)}.portal-port--retired{--port-fill:linear-gradient(135deg, transparent 46%, var(--border-hover) 46% 54%, transparent 54%), var(--bg-deep);--port-edge:var(--border);--port-ink:var(--fg-dim)}.portal-port-legend{gap:var(--sp-2xs) var(--sp-md);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.portal-port-legend li{align-items:center;gap:var(--sp-2xs);font-size:var(--fs-sm);color:var(--fg-2);display:inline-flex}.portal-port-legend .swatch{width:var(--sp-sm);height:var(--sp-sm);border-radius:var(--radius-xs);border:1px var(--port-line,solid) var(--port-edge);background:var(--port-fill)}.portal-port-legend .count{font-family:var(--font-mono);color:var(--fg)}.portal-closetmap{gap:var(--sp-md);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.portal-checklist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.portal-checklist li{grid-template-columns:var(--sp-lg) minmax(0, 1fr) auto;gap:var(--sp-xs);padding:var(--sp-2xs) 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-base);align-items:start;display:grid}.portal-checklist li:last-child{border-bottom:none}.portal-checklist .mark{font-family:var(--font-mono);color:var(--fg-dim)}.portal-checklist li[data-state=ticked] .mark{color:var(--success)}.portal-checklist li[data-state=not_applicable] .mark{color:var(--fg-2)}.portal-checklist .hint{font-size:var(--fs-sm);color:var(--fg-dim);display:block}.portal-checklist .photos{font-size:var(--fs-sm);color:var(--fg-2);white-space:nowrap}.portal-photo-strip{gap:var(--sp-xs);padding-bottom:var(--sp-3xs);display:flex;overflow-x:auto}.portal-photo-strip img,.portal-photo-strip button{object-fit:cover;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-deep);cursor:zoom-in;flex:none;width:112px;height:84px;padding:0}.portal-photo-strip button{position:relative;overflow:hidden}.portal-photo-strip button img{border:none;width:100%;height:100%}.portal-photo-large{border-radius:var(--radius-md);max-width:100%;max-height:70vh;margin:0 auto;display:block}.portal-runid{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);color:var(--fg);letter-spacing:.02em;margin:0}.portal-cell-runid{font-family:var(--font-mono);font-weight:var(--fw-semibold)}.portal-runid-preview{align-items:baseline;gap:var(--sp-xs);padding:var(--sp-xs) var(--sp-sm);border:1px dashed var(--border-hover);border-radius:var(--radius-sm);background:var(--bg-deep);display:flex}.portal-runid-preview .portal-runid{font-size:var(--fs-xl)}.portal-runid-preview .why{font-size:var(--fs-sm);color:var(--fg-2)}.portal-blockrow{gap:var(--sp-xs);grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;display:grid}@media (max-width:767px){.portal-blockrow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.portal-wo-section-card{gap:var(--sp-xs);padding:var(--sp-sm);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-direction:column;display:flex}.portal-wo-section-card[data-on=false]{opacity:.7}.portal-wo-section-fields{gap:var(--sp-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:767px){.portal-wo-section-fields{grid-template-columns:minmax(0,1fr)}}.portal-wo-section-fields .col-2{grid-column:1/-1}.portal-wo-words{font-size:var(--fs-sm);color:var(--fg-2);margin:0}.portal-wo-card{border-top:1px solid var(--hairline);flex-direction:column;display:flex}.portal-wo-card-line{align-items:center;column-gap:var(--sp-sm);row-gap:var(--sp-3xs);padding:var(--sp-xs) 0;border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,1fr) 8.5rem;min-width:0;display:grid}.portal-wo-card-line>.portal-label{grid-area:1/1;margin:0}.portal-wo-card-line>.portal-input{grid-area:1/2/span 2}.portal-wo-card-line>.portal-help{grid-area:2/1;margin:0}.portal-wo-meta{gap:var(--sp-3xs) var(--sp-md);flex-wrap:wrap;display:inline-flex}.portal-wo-meta .role{margin-right:var(--sp-2xs);color:var(--fg-dim)}.portal-port-inspector{padding-top:var(--sp-md);border-top:1px solid var(--hairline)}.portal-port-inspector .portal-runid{font-size:var(--fs-xl)}.portal-wo-lands{gap:var(--sp-sm);padding-top:var(--sp-sm);border-top:1px solid var(--hairline);flex-direction:column;display:flex}.portal-wo-checknote{font-size:var(--fs-base)}.portal-wo-companions{gap:var(--sp-sm);padding:var(--sp-sm) 0 0;border:0;border-top:1px solid var(--hairline);flex-direction:column;margin:0;display:flex}.portal-wo-companions>legend{padding:0;font-weight:600}.portal-photo-strip .n,.portal-photo-grid .n{left:var(--sp-3xs);bottom:var(--sp-3xs);padding:0 var(--sp-2xs);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--fg);background:var(--bg-deep);line-height:18px;position:absolute}@supports (color:color-mix(in lab, red, red)){.portal-photo-strip .n,.portal-photo-grid .n{background:color-mix(in srgb, var(--bg-deep) 82%, transparent)}}.portal-photo-strip .n,.portal-photo-grid .n{border-radius:var(--radius-xs)}.portal-photo-grid{gap:var(--sp-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.portal-photo-grid button{aspect-ratio:4/3;cursor:zoom-in;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-deep);padding:0;position:relative;overflow:hidden}.portal-photo-grid img{object-fit:cover;width:100%;height:100%;display:block}.portal-evidence-title{align-items:baseline;gap:var(--sp-2xs) var(--sp-sm);flex-wrap:wrap;margin:0;display:flex}.portal-evidence-title>span:last-child{font-size:var(--fs-lg);color:var(--fg)}.portal-evidence-meta{font-size:var(--fs-sm);color:var(--fg-dim);margin:0}.portal-change-items{padding-left:var(--sp-md);gap:var(--sp-3xs);font-size:var(--fs-base);flex-direction:column;margin:0;display:flex}.portal-woreview-shell{gap:var(--sp-md);flex-direction:column;display:flex}.portal-woreview{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);grid-template-columns:300px minmax(0,1fr) 320px;min-height:560px;display:grid;overflow:hidden}.portal-woreview-queue{border-right:1px solid var(--border);background:var(--bg-deep);max-height:calc(100dvh - 240px);overflow-y:auto}.portal-woreview-group ul{margin:0;padding:0;list-style:none}.portal-woreview-grouphead{z-index:1;padding:var(--sp-xs) var(--sp-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--fg-2);background:var(--bg-deep);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:baseline;margin:0;display:flex;position:sticky;top:0}.portal-woreview-grouphead .n{font-family:var(--font-mono);font-weight:var(--fw-medium);color:var(--fg-dim)}.portal-woreview-item{gap:var(--sp-4xs);text-align:left;cursor:pointer;width:100%;min-width:0;padding:var(--sp-xs) var(--sp-md);border:0;border-bottom:1px solid var(--hairline);color:var(--fg);font:inherit;background:0 0;flex-direction:column;display:flex}.portal-woreview-item:hover{background:var(--bg-hover)}.portal-woreview-item[aria-current=true]{background:var(--primary-subtle)}.portal-woreview-item:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.portal-woreview-item .top{justify-content:space-between;align-items:center;gap:var(--sp-xs);min-width:0;display:flex}.portal-woreview-item .name{font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-woreview-item .name.mono{font-family:var(--font-mono)}.portal-woreview-item .sub{font-size:var(--fs-sm);color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-woreview-item .clock{font-size:var(--fs-xs);color:var(--fg-2)}.portal-woreview-item .clock[data-urgent=true]{color:var(--warning);font-weight:var(--fw-semibold)}.portal-woreview-evidence{gap:var(--sp-md);min-width:0;padding:var(--sp-lg) var(--sp-xl);flex-direction:column;display:flex}.portal-woreview-evidence-top{justify-content:space-between;align-items:baseline;gap:var(--sp-sm);font-size:var(--fs-sm);display:flex}.portal-woreview-back{display:none}.portal-woreview-verdict{gap:var(--sp-md);min-width:0;padding:var(--sp-lg);border-left:1px solid var(--border);background:var(--bg-deep);flex-direction:column;display:flex}.portal-woreview-verdict-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--fg);margin:0}.portal-woreview-after{padding-top:var(--sp-sm);border-top:1px solid var(--hairline);font-size:var(--fs-sm);color:var(--fg-dim);margin:auto 0 0}.portal-woreview-after strong{color:var(--fg-2);font-weight:var(--fw-medium)}.portal-woreview-empty{gap:var(--sp-xs);padding:var(--sp-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);flex-direction:column;display:flex}.portal-woreview-empty-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0}.portal-verdict-act{justify-content:center;width:100%}.portal-key{margin-left:var(--sp-2xs);padding:0 var(--sp-3xs);font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:var(--radius-xs);opacity:.7;border:1px solid;line-height:16px}.portal-verdict-sub{font-size:var(--fs-sm);color:var(--fg-2);margin:0}.portal-verdict-item{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:0}.portal-reasons{gap:var(--sp-3xs);flex-direction:column;display:flex}.portal-reason{align-items:center;gap:var(--sp-xs);width:100%;min-height:var(--ctl-h-sm);padding:0 var(--sp-sm);text-align:left;cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--fg-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);display:flex}.portal-reason .portal-key{margin-left:0}.portal-reason:hover{border-color:var(--border-hover);color:var(--fg)}.portal-reason[aria-pressed=true]{background:var(--error-light);border-color:var(--error-edge);color:var(--fg)}.portal-reason:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.portal-reason:disabled{cursor:progress;opacity:.6}.portal-inspect-split{gap:var(--sp-lg);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.portal-inspect-verdict{gap:var(--sp-md);padding:var(--sp-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-deep);flex-direction:column;display:flex;position:sticky;top:0}@media (max-width:899px){.portal-inspect-split{grid-template-columns:minmax(0,1fr)}.portal-inspect-verdict{position:static}}.portal-invoice-actions{padding-top:var(--sp-md);border-top:1px solid var(--hairline)}@media (max-width:1439px){.portal-woreview{grid-template-columns:270px minmax(0,1fr) 290px}}@media (max-width:1199px){.portal-woreview{grid-template-columns:minmax(0,1fr);min-height:0}.portal-woreview[data-view=list] .portal-woreview-evidence,.portal-woreview[data-view=list] .portal-woreview-verdict,.portal-woreview[data-view=item] .portal-woreview-queue{display:none}.portal-woreview-queue{border-right:0;max-height:none}.portal-woreview-back{display:inline-flex}.portal-woreview-evidence,.portal-woreview-verdict{padding:var(--sp-md)}}@media (min-width:768px) and (max-width:1199px){.portal-woreview[data-view=item]{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width:767px){.portal-woreview-verdict{border-left:0;border-top:1px solid var(--border)}.portal-photo-grid{gap:var(--sp-xs)}.portal-woreview-evidence-top{align-items:flex-start;gap:var(--sp-3xs);flex-direction:column}.portal-woreview-back{text-align:left}}.portal-ledger{flex-direction:column;display:flex}.portal-ledger-defs{width:0;height:0;position:absolute;overflow:hidden}.portal-ledger-rows{flex-direction:column;display:flex}.portal-ledger-row{gap:var(--sp-md);padding:var(--sp-xs) var(--sp-sm);border-bottom:1px solid var(--hairline);font-size:var(--fs-sm);grid-template-columns:240px minmax(0,1fr) 120px 96px;align-items:center;display:grid}.portal-ledger-row .what{gap:var(--sp-4xs);flex-direction:column;min-width:0;display:flex}.portal-ledger-row .what b{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--fg)}.portal-ledger-row .what small{font-size:var(--fs-sm);color:var(--fg-dim)}.portal-ledger-row .amt{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--fg)}.portal-ledger-row .word{font-size:var(--fs-sm);color:var(--fg-dim)}.portal-ledger-row[data-kind=sub]{background:var(--bg-deep)}.portal-ledger-row[data-kind=sub] .what{padding-left:var(--sp-md)}.portal-ledger-row[data-kind=total]{background:var(--bg-hover)}.portal-ledger-row:last-of-type{border-bottom:0}.portal-ribbon{border-radius:var(--radius-xs);width:100%;height:16px;display:block;overflow:hidden}.portal-ribbon-track{fill:var(--bg-hover)}.portal-ribbon rect[data-tone=max]{fill:var(--border-hover)}.portal-ribbon rect[data-tone=accepted]{fill:var(--success)}.portal-ribbon rect[data-tone=waiting]{fill:var(--primary)}.portal-ribbon rect[data-tone=field]{fill:var(--fg-nontext)}.portal-ribbon rect[data-tone=todo]{fill:var(--border-strong)}.portal-ribbon rect[data-tone=billed]{fill:var(--warning)}.portal-ribbon rect[data-tone=paid]{fill:var(--info)}.portal-ribbon-cap{stroke:var(--fg);stroke-width:2px;stroke-dasharray:3 3}.portal-ribbon-hatch-ground{fill:var(--error-light)}.portal-ribbon-hatch{stroke:var(--error);stroke-width:3px}.portal-ledger-legend{padding:var(--sp-xs) var(--sp-sm) 0;align-items:center;gap:var(--sp-xs);font-size:var(--fs-sm);color:var(--fg-dim);margin:0;display:flex}.portal-ledger-legend .cap{border-left:2px dashed var(--fg);width:0;height:14px;display:inline-block}@media (max-width:1119px){.portal-ledger-row{gap:var(--sp-sm);grid-template-columns:200px minmax(0,1fr) 104px 84px}}@media (max-width:767px){.portal-ledger-row{row-gap:var(--sp-2xs);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"what what""bar bar""word amt"}.portal-ledger-row .what{grid-area:what}.portal-ledger-row .portal-ribbon{grid-area:bar}.portal-ledger-row .amt{grid-area:amt}.portal-ledger-row .word{grid-area:word}}.portal-paper-frame{padding:var(--sp-xl);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised)}@media (max-width:767px){.portal-paper-frame{padding:var(--sp-md)}}.portal-wo-invoice-total{justify-content:space-between;align-items:baseline;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-md);border-top:1px solid var(--border);background:var(--bg-deep);border-radius:var(--radius-md);display:flex}.portal-wo-invoice-total span{font-size:var(--fs-base);color:var(--fg-dim)}.portal-wo-invoice-total strong{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.portal-wo-lines{gap:0;display:grid}.portal-wo-lines-head,.portal-wo-line{column-gap:var(--sp-xs);grid-template-columns:170px minmax(0,1fr) 96px 132px 76px;align-items:center;display:grid}.portal-wo-lines-head{padding-bottom:var(--sp-2xs);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim)}.portal-wo-line{padding:var(--sp-xs) 0;row-gap:var(--sp-3xs);border-top:1px solid var(--hairline)}.portal-wo-line label{min-width:0;display:grid}.portal-wo-line .words{grid-column:2/5}.portal-wo-line .cut{justify-self:end}.portal-wo-line .problem{grid-column:1/-1;margin:0}.portal-wo-line-label{display:none}@media (max-width:767px){.portal-wo-lines-head{display:none}.portal-wo-line{row-gap:var(--sp-xs);padding:var(--sp-sm) 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.portal-wo-line .kind,.portal-wo-line .ref,.portal-wo-line .words{grid-column:1/-1}.portal-wo-line .cut{order:9;grid-column:1/-1;justify-self:start}.portal-wo-line-label{margin-bottom:var(--sp-3xs);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);display:block}}.portal-wo-quote{padding:var(--sp-sm) var(--sp-md);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--bg-deep);color:var(--fg);font-size:var(--fs-base);white-space:pre-wrap;margin:0;line-height:1.55}@media (max-width:767px){.portal-faceplate{padding:var(--sp-sm) calc(var(--sp-md) + var(--sp-2xs))}.portal-faceplate:before{left:var(--sp-3xs)}.portal-faceplate:after{right:var(--sp-3xs)}.portal-port{width:var(--ctl-h-sm);height:var(--ctl-h-sm)}.portal-bay-ports{max-width:calc(12 * var(--ctl-h-sm) + 11 * var(--sp-3xs))}}.portal-pb-note{font-size:var(--fs-sm);color:var(--fg-2);margin:0}.portal-pb-conditions{gap:var(--sp-xs) var(--sp-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:900px){.portal-pb-conditions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.portal-pb-conditions{grid-template-columns:minmax(0,1fr)}}.portal-pb-conditions>.portal-field{min-width:0}.portal-pb-conditions>.portal-field>.portal-label{flex:1 0 auto}.portal-pb-qty{inline-size:8ch}.portal-crew-frame{background:var(--bg);min-height:100dvh}.portal-crew{--field-w:640px;max-width:var(--field-w);padding:0 var(--sp-md) calc(var(--dock-h) + var(--safe-bottom) + var(--sp-xl));margin:0 auto}.portal-crew-bar{z-index:20;justify-content:space-between;align-items:center;gap:var(--sp-sm);margin:0 calc(-1 * var(--sp-md));padding:calc(var(--sp-sm) + env(safe-area-inset-top,0px)) var(--sp-md) var(--sp-sm);background:var(--bg);border-bottom:1px solid var(--hairline);display:flex;position:sticky;top:0}.portal-crew-bar-title{font-size:var(--fs-2xl);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.1}.portal-crew-bar-sub{margin:var(--sp-4xs) 0 0;font-size:var(--fs-sm);color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-crew-bar-main{min-width:0}.portal-crew-sync{align-items:center;gap:var(--sp-2xs);min-height:var(--ctl-h-sm);padding:0 var(--sp-sm);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-panel);color:var(--fg-2);font-size:var(--fs-sm);flex:none;font-weight:600;display:inline-flex}.portal-crew-sync:before{content:"";background:var(--success);border-radius:50%;width:8px;height:8px}.portal-crew-sync[data-state=waiting]:before,.portal-crew-sync[data-state=sending]:before{background:var(--warning)}.portal-crew-sync[data-state=offline]:before,.portal-crew-sync[data-state=stopped]:before{background:var(--error)}.portal-crew-alert{justify-content:space-between;align-items:center;gap:var(--sp-sm);margin-top:var(--sp-sm);padding:var(--sp-sm) var(--sp-md);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-panel);font-size:var(--fs-base);flex-wrap:wrap;line-height:1.45;display:flex}.portal-crew-alert[data-tone=primary]{border-color:var(--primary-edge);background:var(--primary-subtle)}.portal-crew-alert[data-tone=warn]{border-color:var(--warning-edge);background:var(--warning-light)}.portal-crew-alert p{flex:220px;margin:0}.portal-crew-notices{margin:var(--sp-sm) 0 0;gap:var(--sp-2xs);padding:0;list-style:none;display:grid}.portal-crew-notice{align-items:flex-start;gap:var(--sp-sm);padding:var(--sp-xs) var(--sp-sm);border-radius:var(--radius-md);background:var(--warning-light);border:1px solid var(--warning-edge);font-size:var(--fs-sm);display:flex}.portal-crew-notice p{flex:1;margin:0;line-height:1.45}.portal-crew-plate{min-width:7.5ch;padding:var(--sp-3xs) var(--sp-xs);border-radius:var(--radius-xs);background:var(--fg);color:var(--bg-deep);font-family:var(--font-mono);font-size:var(--fs-lg);letter-spacing:.02em;justify-content:center;align-items:center;font-weight:700;line-height:1.15;display:inline-flex;box-shadow:inset 0 0 0 1px #00000040}.portal-crew-plate[data-size=large]{font-size:var(--fs-3xl);padding:var(--sp-2xs) var(--sp-sm)}.portal-crew-day{margin-top:var(--sp-md);padding:var(--sp-md);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-panel);gap:var(--sp-sm);display:grid}.portal-crew-day h2{font-size:var(--fs-lg);margin:0;font-weight:650}.portal-crew-day p{color:var(--fg-2);font-size:var(--fs-base);margin:0;line-height:1.45}.portal-crew-who{gap:var(--sp-2xs);flex-wrap:wrap;display:flex}.portal-crew-dayline{margin:var(--sp-md) 0 0;justify-content:space-between;align-items:center;gap:var(--sp-sm);min-height:var(--ctl-h);padding:var(--sp-2xs) var(--sp-2xs) var(--sp-2xs) var(--sp-sm);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-panel);font-size:var(--fs-sm);color:var(--fg-2);display:flex}p.portal-crew-dayline{padding-right:var(--sp-sm)}.portal-crew-big{width:100%;min-height:56px;font-size:var(--fs-lg)}.portal-crew-tabs{margin-top:var(--sp-md);scrollbar-width:none;overflow-x:auto}.portal-crew-tabs::-webkit-scrollbar{display:none}.portal-crew-list{margin:var(--sp-sm) 0 0;gap:var(--sp-2xs);padding:0;list-style:none;display:grid}.portal-crew-card{align-items:center;gap:var(--sp-sm);width:100%;min-height:64px;padding:var(--sp-sm);text-align:left;cursor:pointer;font:inherit;color:inherit;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-panel);-webkit-tap-highlight-color:transparent;touch-action:manipulation;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.portal-crew-card[data-plate=none]{grid-template-columns:minmax(0,1fr) auto}.portal-crew-card:active{background:var(--bg-hover)}.portal-crew-card[data-status=done],.portal-crew-card[data-status=accepted],.portal-crew-card[data-status=deemed_accepted]{opacity:.72}.portal-crew-card-where{min-width:0}.portal-crew-card-where b{font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.portal-crew-card-where>span{margin-top:var(--sp-4xs);font-size:var(--fs-sm);color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.portal-crew-card-where>span:has(.portal-chip){margin-top:var(--sp-2xs)}.portal-crew-empty{margin:var(--sp-md) 0 0;color:var(--fg-2);font-size:var(--fs-base)}.portal-crew-ring{width:36px;height:36px}.portal-crew-ring circle{fill:none;stroke-width:4px}.portal-crew-ring .track{stroke:var(--border-strong)}.portal-crew-ring .fill{stroke:var(--primary-hover);stroke-linecap:round;transform-origin:50%;transition:stroke-dasharray var(--t-base);transform:rotate(-90deg)}.portal-crew-ring[data-complete=true] .fill{stroke:var(--success)}.portal-crew-ring text{font-family:var(--font-mono);font-size:var(--fs-xs);fill:var(--fg-2)}.portal-crew-add{margin-top:var(--sp-sm)}.portal-crew-back{margin-top:var(--sp-xs);justify-content:space-between;align-items:center;gap:var(--sp-sm);display:flex}.portal-crew-back .portal-btn{margin-left:calc(-1 * var(--sp-xs))}.portal-crew-back span{font-size:var(--fs-sm);color:var(--fg-dim);font-variant-numeric:tabular-nums}.portal-crew-row-head{margin-top:var(--sp-2xs);gap:var(--sp-2xs);justify-items:start;display:grid}.portal-crew-row-head h2{font-size:var(--fs-xl);margin:0;font-weight:650;line-height:1.25}.portal-crew-row-head p{color:var(--fg-dim);font-size:var(--fs-sm);margin:0}.portal-crew-block{margin-top:var(--sp-lg)}.portal-crew-block>h3{margin:0 0 var(--sp-xs);font-size:var(--fs-sm);color:var(--fg-2);font-weight:600}.portal-crew-checks{gap:var(--sp-2xs);margin:0;padding:0;list-style:none;display:grid}.portal-crew-check{align-items:center;gap:var(--sp-sm);width:100%;min-height:56px;padding:var(--sp-xs) var(--sp-sm);text-align:left;cursor:pointer;font:inherit;color:inherit;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-panel);-webkit-tap-highlight-color:transparent;touch-action:manipulation;grid-template-columns:minmax(0,1fr) auto;display:grid}.portal-crew-check b{font-size:var(--fs-base);font-weight:600;display:block}.portal-crew-check>span:first-child>span{margin-top:var(--sp-4xs);font-size:var(--fs-sm);color:var(--fg-dim);line-height:1.4;display:block}.portal-crew-check[aria-checked=true]{border-color:var(--success-edge);background:var(--success-light)}.portal-crew-check[data-na=true]{opacity:.7}.portal-crew-box{border-radius:var(--radius-sm);border:2px solid var(--border-strong);width:32px;height:32px;color:var(--bg-deep);place-items:center;font-weight:800;display:grid}.portal-crew-check[aria-checked=true] .portal-crew-box{background:var(--success);border-color:var(--success)}.portal-crew-na{margin:var(--sp-3xs) 0 0 var(--sp-sm);justify-self:start}.portal-crew-box[data-shape=round]{border-radius:50%;width:26px;height:26px}.portal-crew-check[data-choice=true][aria-checked=true]{border-color:var(--primary-edge);background:var(--primary-subtle)}.portal-crew-check[data-choice=true][aria-checked=true] .portal-crew-box{border-color:var(--primary-hover);box-shadow:inset 0 0 0 5px var(--bg-panel), inset 0 0 0 13px var(--primary-hover);background:0 0}.portal-crew-photos{gap:var(--sp-xs);padding-bottom:var(--sp-3xs);display:flex;overflow-x:auto}.portal-crew-thumb{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-raised);cursor:pointer;flex:none;width:88px;height:88px;padding:0;position:relative;overflow:hidden}.portal-crew-thumb img{object-fit:cover;width:100%;height:100%;display:block}.portal-crew-thumb[data-local=true]:after{content:"";background:var(--warning);width:10px;height:10px;box-shadow:0 0 0 2px var(--bg-deep);border-radius:50%;position:absolute;top:6px;right:6px}.portal-crew-shoot{align-content:center;place-items:center;gap:var(--sp-3xs);border-radius:var(--radius-md);border:1px dashed var(--border-strong);width:88px;height:88px;color:var(--fg-2);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;flex:none;font-weight:600;display:grid}.portal-crew-shoot svg{width:22px;height:22px}.portal-crew-fields{gap:var(--sp-sm);display:grid}.portal-crew .portal-listbox-wrap{display:flex}.portal-crew .portal-listbox{width:100%}.portal-crew-done{margin-top:var(--sp-lg);gap:var(--sp-2xs);display:grid}.portal-crew-done p{text-align:center;font-size:var(--fs-sm);color:var(--fg-dim);margin:0}.portal-crew-step{margin-top:var(--sp-md);gap:var(--sp-xs);grid-template-columns:1fr 1fr;display:grid}.portal-crew-camera{margin-top:var(--sp-md);align-content:center;place-items:center;gap:var(--sp-2xs);border-radius:var(--radius-lg);border:1px dashed var(--border-strong);background:var(--bg-panel);width:100%;min-height:148px;color:var(--fg);font:inherit;font-size:var(--fs-lg);cursor:pointer;font-weight:650;display:grid}.portal-crew-camera svg{width:34px;height:34px;color:var(--primary-hover)}.portal-crew-camera span{font-size:var(--fs-sm);color:var(--fg-dim);font-weight:400}.portal-crew-tray{gap:var(--sp-xs);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.portal-crew-tray .portal-crew-thumb{aspect-ratio:1;width:100%;height:auto}.portal-crew-thumb:disabled{cursor:default}.portal-crew-thumb-tag{padding:var(--sp-4xs) var(--sp-2xs);color:var(--fg);font-family:var(--font-mono);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;text-align:left;background:#0000009e;font-weight:600;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.portal-crew-filing{object-fit:contain;border-radius:var(--radius-md);background:var(--bg-deep);width:100%;max-height:28dvh;display:block}.portal-crew-newid{align-items:center;gap:var(--sp-xs);font-size:var(--fs-base);color:var(--fg-2);flex-wrap:wrap;margin:0;display:flex}.portal-crew-pick{gap:var(--sp-2xs);max-height:48dvh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.portal-crew-pick li{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-panel)}.portal-crew-pick label{align-items:center;gap:var(--sp-sm);min-height:52px;padding:var(--sp-2xs) var(--sp-sm);cursor:pointer;display:flex}.portal-crew-pick .portal-check{flex:none}.portal-crew-pick .items{gap:var(--sp-3xs);padding:0 var(--sp-sm) var(--sp-xs) calc(var(--sp-sm) + 30px);display:grid}.portal-crew-pick .items label{min-height:40px;font-size:var(--fs-sm);padding:0}.portal-crew-mine{gap:var(--sp-2xs);margin:0;padding:0;list-style:none;display:grid}.portal-crew-mine li{gap:var(--sp-xs);padding:var(--sp-sm);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-panel);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.portal-crew-mine b{font-size:var(--fs-base);display:block}.portal-crew-mine li>span>span{margin-top:var(--sp-4xs);font-size:var(--fs-sm);color:var(--fg-dim);display:block}.portal-crew-dock{max-width:var(--field-w);margin:0 auto}.portal-doc-section{background:var(--bg-secondary);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--sp-md)}.portal-doc-block{background:var(--bg-raised);border-radius:var(--radius-sm);padding:var(--sp-sm)}.portal-doc-list{padding-left:var(--sp-lg)}.portal-doc-list li+li{margin-top:var(--sp-3xs)}.portal-doc-figure{border:1px solid var(--hairline);border-radius:var(--radius-xs);background:var(--print-paper);align-self:flex-start;max-width:360px;max-height:220px}.portal-doc-grow{flex:1;min-width:0}.portal-doc-codes{padding-top:var(--sp-3xs)}
