html,body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-sm);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum", "ss01";margin:0;padding:0}*{box-sizing:border-box}a{color:var(--brand);text-decoration:none}.demo-bar{z-index:50;align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-5);background:color-mix(in srgb, var(--bg) 92%, var(--brand) 8%);border-bottom:1px dashed color-mix(in srgb, var(--brand) 40%, var(--line));font-size:var(--fs-2xs);flex-wrap:wrap;display:flex;position:sticky;top:0}.demo-bar:before{content:"VORLAGE · KONFIGURATOR";font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--brand);margin-right:var(--sp-2);font-size:10px;font-weight:600}.demo-bar-group{align-items:center;gap:var(--sp-2);display:inline-flex}.demo-bar-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);font-size:10px;font-weight:600}.demo-seg{background:var(--bg-input);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);gap:1px;padding:2px;display:inline-flex}.demo-seg button{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:2px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.demo-seg button:hover{color:var(--ink)}.demo-seg button.is-active{background:var(--bg-panel);color:var(--brand);box-shadow:0 1px 2px #00000040}.demo-toggle{border:var(--bw-hair) solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);cursor:pointer;border-radius:var(--r-xs);background:0 0;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.demo-toggle:hover{color:var(--brand);border-color:var(--brand)}.list-page{flex:1;grid-template-columns:minmax(0,1fr);gap:0;width:100%;min-height:0;display:grid}.list-page[data-variant=aside]{grid-template-columns:280px minmax(0,1fr)}.list-page[data-variant=aside].is-aside-collapsed{grid-template-columns:44px minmax(0,1fr)}.list-main{min-width:0;padding:var(--sp-5) var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}@media (max-width:900px){.list-page,.list-page[data-variant=aside]{grid-template-columns:minmax(0,1fr)}.list-main{padding:var(--sp-4)}}.filter-aside{top:var(--topbar-h,56px);max-height:calc(100vh - var(--topbar-h,56px));background:var(--bg-panel);border-right:var(--bw-hair) solid var(--line);flex-direction:column;align-self:start;display:none;position:sticky;overflow-y:auto}.list-page[data-variant=aside] .filter-aside{display:flex}@media (max-width:900px){.filter-aside{border-right:0;max-height:none;position:static}.list-page[data-variant=aside] .filter-aside{border-bottom:var(--bw-hair) solid var(--line)}}.aside-toggle{border:var(--bw-hair) solid var(--line-hi);background:var(--bg-panel);width:24px;height:24px;color:var(--ink-muted);cursor:pointer;border-radius:var(--r-xs);z-index:5;transition:transform var(--d-base) var(--ease-out), color var(--d-fast) var(--ease-out), background var(--d-fast) var(--ease-out), border-color var(--d-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.aside-toggle:hover{color:var(--brand);border-color:var(--brand);background:var(--bg-hover)}.aside-toggle .lucide{width:13px;height:13px;transition:transform var(--d-base) var(--ease-out)}.is-aside-collapsed .filter-aside{background:0 0;border-right:0;align-items:stretch;overflow:visible}.is-aside-collapsed .filter-aside-head{padding:var(--sp-3) 0;background:0 0;border-bottom:0;justify-content:flex-end}.is-aside-collapsed .filter-aside-head .ttl,.is-aside-collapsed .filter-aside-head .link,.is-aside-collapsed .aside-group{display:none}.is-aside-collapsed .aside-toggle{transform:translate(40px)}.is-aside-collapsed .aside-toggle .lucide{transform:rotate(180deg)}.filter-aside-head{padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);border-bottom:var(--bw-hair) solid var(--line);background:var(--bg-panel);z-index:2;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.filter-aside-head-actions{align-items:center;gap:var(--sp-2);display:inline-flex}.filter-aside-head .ttl{font-family:var(--font-serif);font-size:var(--fs-md);color:var(--ink);font-weight:500}.filter-aside-head .link{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brand);cursor:pointer;background:0;border:0;font-size:10px}.filter-aside-head .link:hover{color:var(--brand-hover);text-decoration:underline}.aside-group{padding-bottom:var(--sp-2);flex-direction:column;display:flex}.aside-group+.aside-group{border-top:var(--bw-hair) solid var(--line)}.aside-group-head{padding:var(--sp-3) var(--sp-4) 6px;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:var(--sp-2);font-size:10px;font-weight:600;display:inline-flex}.aside-group-head .dot{background:var(--brand);border-radius:50%;width:6px;height:6px;display:inline-block}.aside-group-head .lucide{width:12px;height:12px;color:var(--brand)}.aside-opt{padding:7px var(--sp-4);text-align:left;cursor:pointer;width:100%;transition:background var(--d-fast) var(--ease-out);font-size:var(--fs-xs);color:var(--ink-2);background:0 0;border:0;border-left:2px solid #0000;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.aside-opt:has(.av-tag){grid-template-columns:auto auto 1fr auto}.aside-opt:hover{background:var(--bg-hover)}.aside-opt input[type=checkbox]{-webkit-appearance:none;appearance:none;background:var(--bg-input);border:1.5px solid var(--line-hi);cursor:pointer;border-radius:2px;flex-shrink:0;width:13px;height:13px;margin:0;display:inline-block;position:relative}.aside-opt input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand)}.aside-opt input[type=checkbox]:checked:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3 7l3 3 5-6' stroke='%230C1810' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/9px no-repeat;position:absolute;top:0;bottom:0;left:0;right:0}.aside-opt:has(input:checked){background:color-mix(in srgb, var(--brand) 7%, transparent);border-left-color:var(--brand);color:var(--ink)}.aside-opt:has(input:checked)>span:not(.av-tag):not(.ct){font-weight:600}.aside-opt .ct{font-family:var(--font-mono);color:var(--ink-dim);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:10px}.aside-opt:has(input:checked) .ct{color:var(--brand)}.av-tag{width:20px;height:20px;font-family:var(--font-mono);color:var(--ink-inverse);letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:600;display:inline-flex}.av-tag.k{background:linear-gradient(135deg,#50d368,#2d863d)}.av-tag.m{background:linear-gradient(135deg,#d2a14b,#a37629)}.av-tag.s{background:linear-gradient(135deg,#4b96d2,#296ca3)}.av-tag.du{background:linear-gradient(135deg,#ad79d2,#7b3fa6)}.aside-more{padding:6px var(--sp-4);font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);cursor:pointer;text-align:left;background:0;border:0;font-size:10px}.aside-more:hover{color:var(--brand)}.aside-range{gap:var(--sp-2);padding:4px var(--sp-4);display:flex}.aside-range label{flex-direction:column;flex:1;gap:3px;display:flex}.aside-range span{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:9px;font-weight:600}.aside-range input{background:var(--bg-input);border:var(--bw-hair) solid var(--line-hi);border-radius:var(--r-xs);width:100%;font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink);outline:0;padding:5px 6px}.aside-range input:focus{border-color:var(--brand)}.aside-quick{padding:6px var(--sp-4) var(--sp-2);gap:4px;display:flex}.aside-quick button{background:var(--bg-input);border:var(--bw-hair) solid var(--line);font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);cursor:pointer;border-radius:var(--r-xs);flex:1;padding:4px;font-size:10px;font-weight:600}.aside-quick button:hover{color:var(--ink)}.aside-quick button.is-active{background:color-mix(in srgb, var(--brand) 16%, var(--bg-input));color:var(--brand);border-color:var(--brand)}.list-main .page-head{background:0 0;border-bottom:0;padding:0}.kpi-strip--contextual{display:none}.list-page[data-variant=kontext] .kpi-strip--contextual,.list-page[data-variant=aside] .kpi-strip--contextual{display:grid}@media (max-width:700px){.kpi-strip--contextual{grid-template-columns:repeat(2,1fr)!important}}.kpi-strip--contextual .kpi{padding:var(--sp-3) var(--sp-4)}.kpi-strip--contextual .kpi-value{font-size:var(--fs-xl)}.kpi-strip--contextual .kpi-value.warn{color:var(--warning-500)}@media (max-width:700px){.kpi-strip--contextual{scroll-snap-type:x mandatory;scrollbar-width:none;overflow-x:auto;display:flex!important}.kpi-strip--contextual::-webkit-scrollbar{display:none}.kpi-strip--contextual .kpi{scroll-snap-align:start;flex:0 0 180px}}.kpi-delta{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.1em;color:var(--ink-muted);vertical-align:2px;margin-left:4px;font-weight:600}.kpi-delta.up{color:var(--brand)}.kpi-delta.down{color:var(--danger-500)}.pipeline-section{background:var(--bg-panel);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);padding:var(--sp-3) var(--sp-4);display:none}.list-page[data-entity=angebote] .pipeline-section{display:block}.pipeline-section-head{align-items:center;gap:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--sp-3);font-weight:600;display:flex}.pipeline-section-head .lucide{color:var(--brand)}.pipeline-section-head .ttl{color:var(--ink-2)}.pipeline-section-head .grow{flex:1}.pipeline-section-head .link-mono{font-family:inherit;font-size:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-weight:600;display:inline-flex}.pipeline-section-head .link-mono:hover{color:var(--brand)}.pipeline-bar{border-radius:var(--r-xs);background:var(--bg-input);border:var(--bw-hair) solid var(--line);width:100%;height:36px;display:flex;overflow:hidden}.pipeline-seg{border:0;border-right:var(--bw-hair) solid var(--line);padding:0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;transition:filter var(--d-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-weight:600;display:flex;overflow:hidden}.pipeline-seg:last-child{border-right:0}.pipeline-seg:hover{filter:brightness(1.18)}.pipeline-seg.is-active{outline:2px solid var(--brand);outline-offset:-2px}.pipeline-seg .ct{opacity:.75;font-weight:400}.pipeline-seg.tone-neutral{background:var(--bg-elev)}.pipeline-seg.tone-info{background:color-mix(in srgb, var(--info-500) 28%, var(--bg-elev));color:var(--ink)}.pipeline-seg.tone-warning{background:color-mix(in srgb, var(--warning-500) 40%, var(--bg-elev));color:var(--ink)}.pipeline-seg.tone-brand{background:color-mix(in srgb, var(--brand) 50%, var(--bg-elev));color:var(--ink)}.pipeline-seg.tone-danger{background:color-mix(in srgb, var(--danger-500) 25%, var(--bg-elev));color:var(--ink-2)}.pipeline-legend{gap:var(--sp-3) var(--sp-4);margin-top:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.06em;color:var(--ink-muted);flex-wrap:wrap;display:flex}.pipeline-legend>span{align-items:center;gap:6px;display:inline-flex}.pipeline-legend .dot{border-radius:2px;width:8px;height:8px;display:inline-block}.pipeline-legend .dot.tone-neutral{background:var(--bg-elev);border:1px solid var(--line-hi)}.pipeline-legend .dot.tone-info{background:var(--info-500)}.pipeline-legend .dot.tone-warning{background:var(--warning-500)}.pipeline-legend .dot.tone-brand{background:var(--brand)}.pipeline-legend .dot.tone-danger{background:var(--danger-500)}.saved-views{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sv-spacer{flex:1;min-width:12px}.sv-pill{background:var(--bg-panel);border:var(--bw-hair) solid var(--line);border-radius:var(--r-pill);height:28px;font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;font-family:var(--font-sans);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.sv-pill .lucide{color:var(--ink-muted)}.sv-pill:hover{border-color:var(--line-hi);color:var(--ink)}.sv-pill:hover .lucide{color:var(--brand)}.sv-pill.is-active{background:color-mix(in srgb, var(--brand) 12%, var(--bg-panel));border-color:var(--brand);color:var(--brand)}.sv-pill.is-active .lucide{color:var(--brand)}.sv-pill .ct{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-dim);background:color-mix(in srgb, var(--bg-elev) 80%, transparent);border-radius:2px;padding:1px 5px;font-size:10px}.sv-pill.is-active .ct{color:var(--brand);background:color-mix(in srgb, var(--brand) 12%, var(--bg-elev))}.sv-pill .ct.warn{color:var(--warning-500)}.sv-pill .ct.danger{color:var(--danger-500)}.sv-pill.is-active .ct.warn,.sv-pill.is-active .ct.danger{color:inherit}.sv-pill--add{color:var(--ink-muted);background:0 0;border-style:dashed}.sv-pill--add:hover{color:var(--brand);border-color:var(--brand)}.list-page[data-entity=kontakte] .sv-pill[data-entity-view]:not([data-entity-view~=kontakte]),.list-page[data-entity=angebote] .sv-pill[data-entity-view]:not([data-entity-view~=angebote]),.list-page[data-entity=rechnungen] .sv-pill[data-entity-view]:not([data-entity-view~=rechnungen]){display:none}@media (max-width:700px){.saved-views{scroll-snap-type:x mandatory;margin:0 calc(var(--sp-4) * -1);padding:0 var(--sp-4);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.saved-views::-webkit-scrollbar{display:none}.sv-pill{scroll-snap-align:start;flex-shrink:0}.sv-spacer{display:none}}.filter-bar{align-items:center;gap:var(--sp-2);padding:var(--sp-2);background:var(--bg-panel);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);flex-wrap:wrap;display:flex}.filter-divider{background:var(--line);width:1px;height:22px;margin:0 2px}.filter-spacer{flex:1;min-width:8px}.seg-tabs{background:var(--bg-input);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);gap:1px;padding:2px;display:inline-flex}.seg-tabs button{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:2px;align-items:center;gap:6px;padding:5px 11px;font-size:10px;font-weight:600;display:inline-flex}.seg-tabs button:hover{color:var(--ink)}.seg-tabs button.is-active{background:var(--brand);color:var(--ink-inverse)}.seg-tabs button .ct{font-family:var(--font-mono);background:color-mix(in srgb, var(--bg) 60%, transparent);color:var(--ink-muted);letter-spacing:0;border-radius:2px;padding:1px 5px;font-size:10px;font-weight:500}.seg-tabs button.is-active .ct{background:color-mix(in srgb, var(--ink-inverse) 18%, transparent);color:var(--ink-inverse)}.ddown{border:var(--bw-hair) solid transparent;border-radius:var(--r-xs);font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;height:30px;padding:6px 10px;font-weight:500;display:inline-flex}.ddown:hover{border-color:var(--line-hi);color:var(--ink);background:var(--bg-input)}.ddown.is-set{color:var(--brand);border-color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--bg-panel))}.ddown .lucide{width:13px;height:13px;color:var(--ink-muted)}.ddown.is-set .lucide{color:var(--brand)}.ddown:hover .lucide{color:var(--ink)}.ddown>.lucide:last-child{width:11px;height:11px}.filter-search{background:var(--bg-input);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);align-items:center;gap:6px;width:260px;height:30px;padding:0 10px;display:inline-flex}.filter-search:focus-within{border-color:var(--brand);background:var(--bg-input)}.filter-search .lucide{width:13px;height:13px;color:var(--ink-muted);flex-shrink:0}.filter-search input{min-width:0;color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-xs);background:0 0;border:0;outline:0;flex:1}.filter-search input::placeholder{color:var(--ink-dim)}.filter-search .kbd{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-dim);background:var(--bg-elev);border:var(--bw-hair) solid var(--line);border-radius:2px;padding:1px 5px;font-size:9px}.icon-btn-sq{border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.icon-btn-sq:hover{color:var(--brand);border-color:var(--brand)}.icon-btn-sq .lucide{width:14px;height:14px}.icon-btn-sq[aria-expanded=true]{border-color:var(--brand);color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--bg-input))}@media (max-width:768px){.filter-search{order:-1;width:100%}.filter-spacer{display:none}.filter-bar{gap:6px}}.filter-chips{flex-wrap:wrap;align-items:center;gap:6px;min-height:22px;display:flex}.filter-chip{background:color-mix(in srgb, var(--brand) 8%, var(--bg-panel));border:var(--bw-hair) solid color-mix(in srgb, var(--brand) 50%, var(--line));border-radius:var(--r-pill);font-size:var(--fs-2xs);color:var(--ink-2);align-items:center;gap:6px;padding:3px 4px 3px 8px;font-weight:500;display:inline-flex}.filter-chip .lucide{color:var(--brand)}.filter-chip .k{color:var(--ink-muted)}.filter-chip .v{color:var(--ink);font-weight:600}.filter-chip button{width:16px;height:16px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.filter-chip button:hover{background:var(--danger-500);color:var(--ink-inverse)}.filter-chip button .lucide{width:10px;height:10px;color:inherit}.filter-chips-clear{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);text-underline-offset:3px;margin-left:var(--sp-2);font-size:10px;font-weight:600;text-decoration:underline}.filter-chips-clear:hover{color:var(--danger-500)}.list-card{background:var(--bg-panel);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);position:relative;overflow:hidden}.list-card .table-scroll{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}table.data thead th{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);text-align:left;padding:10px var(--sp-4);border-bottom:var(--bw-hair) solid var(--line);background:var(--bg-elev);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:10px;font-weight:600}table.data thead th:hover{color:var(--ink)}table.data thead th .sort-ic{opacity:.35;vertical-align:-2px;width:11px;height:11px;margin-left:4px}:is(table.data thead th:has(.sort-ic[data-lucide=arrow-up]) .sort-ic,table.data thead th:has(.sort-ic[data-lucide=arrow-down]) .sort-ic){opacity:1;color:var(--brand)}table.data thead th.num{text-align:right}table.data thead th.check{cursor:default;width:38px;padding-right:0}table.data thead th.row-end{cursor:default;width:36px;padding:0}table.data tbody tr{cursor:pointer;transition:background var(--d-fast)}table.data tbody tr:hover td{background:var(--bg-hover)}table.data tbody tr.row-not-clickable{cursor:default}table.data tbody tr.row-not-clickable:hover td{background:0 0}table.data tbody tr.row-not-clickable.is-selected:hover td,table.data tbody tr.is-selected td{background:color-mix(in srgb, var(--brand) 10%, var(--bg-panel))}table.data tbody td{padding:9px var(--sp-4);border-bottom:var(--bw-hair) solid var(--line);color:var(--ink-2);vertical-align:middle;font-size:var(--fs-xs)}.list-card[data-density=comfortable] table.data tbody td,.list-card[data-density=comfortable] table.data thead th{padding:14px var(--sp-4)}table.data tbody tr:last-child td{border-bottom:0}table.data tbody td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-mono);color:var(--ink);font-weight:500}table.data tbody td.check{padding-right:0}table.data tbody td.row-end{text-align:right;width:36px;padding:0 4px}table.data .check input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand);cursor:pointer}.status-dot{background:var(--ink-dim);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.active{background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent)}.status-dot.lead{background:var(--info-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--info-500) 20%, transparent)}.status-dot.stamm{background:var(--brand-deep)}.status-dot.archiv{background:var(--ink-dim)}.status-dot.warn{background:var(--warning-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--warning-500) 20%, transparent)}.status-dot.danger{background:var(--danger-500);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger-500) 20%, transparent)}.id-cell{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.id-cell .id-ic{background:var(--bg-elev);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);width:26px;height:26px;color:var(--ink-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.id-cell .id-ic .lucide{width:13px;height:13px}.id-cell .id-info{flex-direction:column;gap:1px;min-width:0;display:flex}.id-cell .id-title{font-size:var(--fs-xs);color:var(--brand);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;max-width:40ch;font-weight:600;overflow:hidden}.id-cell .id-sub{font-family:var(--font-mono);color:var(--ink-dim);letter-spacing:.04em;font-size:10px}.cust-cell{align-items:center;gap:8px;min-width:0;display:inline-flex}.cust-cell .ca{width:22px;height:22px;font-family:var(--font-mono);color:var(--ink-inverse);letter-spacing:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:600;display:inline-flex}.cust-cell .ca.c0{background:linear-gradient(135deg,#50d368,#2d863d)}.cust-cell .ca.c1{background:linear-gradient(135deg,#4b96d2,#296ca3)}.cust-cell .ca.c2{background:linear-gradient(135deg,#d2a14b,#a37629)}.cust-cell .ca.c3{background:linear-gradient(135deg,#ad79d2,#7b3fa6)}.cust-cell .ca.c4{background:linear-gradient(135deg,#d45483,#9e2e57)}.cust-cell .ca.c5{background:linear-gradient(135deg,#64b47f,#2d5d3d)}.cust-cell .nm{color:var(--ink);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;max-width:24ch;overflow:hidden}.owner-cell{align-items:center;gap:6px;display:inline-flex}.owner-cell .nm{color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.04em;font-size:10px}.tag-list{flex-wrap:wrap;gap:4px;display:inline-flex}.tag{background:var(--bg-elev);border:var(--bw-hair) solid var(--line);border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);align-items:center;padding:1px 6px;font-size:9px;font-weight:500;display:inline-flex}.tag.brand{color:var(--brand);border-color:color-mix(in srgb, var(--brand) 50%, var(--line))}.tag.warn{color:var(--warning-500);border-color:color-mix(in srgb, var(--warning-500) 50%, var(--line))}.tag.info{color:var(--info-500);border-color:color-mix(in srgb, var(--info-500) 50%, var(--line))}.prg{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-2);align-items:center;gap:6px;font-size:10px;display:inline-flex}.prg .track{background:var(--bg-elev);border-radius:1px;width:56px;height:4px;display:inline-block;overflow:hidden}.prg .fill{background:var(--brand);height:100%;display:block}.prg .fill.warn{background:var(--warning-500)}.prg .fill.danger{background:var(--danger-500)}.due-cell{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-2);white-space:nowrap;font-size:10px}.due-cell.muted{color:var(--ink-dim)}.due-cell.warn{color:var(--warning-500);font-weight:600}.due-cell.danger{color:var(--danger-500);font-weight:600}.row-more{border-radius:var(--r-xs);width:26px;height:26px;color:var(--ink-muted);cursor:pointer;opacity:0;transition:opacity var(--d-fast);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}table.data tbody tr:hover .row-more,table.data tbody tr.is-selected .row-more{opacity:1}.row-more:hover{color:var(--brand);background:var(--bg-elev)}.row-more .lucide{width:14px;height:14px}.list-card[data-col-status=off] .col-status,.list-card[data-col-type=off] .col-type,.list-card[data-col-tags=off] .col-tags,.list-card[data-col-progress=off] .col-progress,.list-card[data-col-due=off] .col-due,.list-card[data-col-status=off] td:nth-child(2),.list-card[data-col-type=off] td[data-col=type],.list-card[data-col-tags=off] td[data-col=tags],.list-card[data-col-progress=off] td[data-col=progress],.list-card[data-col-due=off] td[data-col=due]{display:none}.table-footer{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);border-top:var(--bw-hair) solid var(--line);background:color-mix(in srgb, var(--bg-elev) 60%, var(--bg-panel));font-size:10px;font-weight:600;display:flex}.table-footer .lbl span{color:var(--ink)}.table-footer .pages{align-items:center;gap:2px;display:inline-flex}.table-footer .pages button{border:var(--bw-hair) solid transparent;border-radius:var(--r-xs);min-width:26px;height:26px;color:var(--ink-2);cursor:pointer;font-family:var(--font-mono);letter-spacing:0;background:0 0;padding:0 6px;font-size:10px}.table-footer .pages button:hover{border-color:var(--line-hi);color:var(--brand)}.table-footer .pages button.is-active{background:var(--brand);border-color:var(--brand);color:var(--ink-inverse)}.table-footer .pages button.icon{justify-content:center;align-items:center;display:inline-flex}.table-footer .pages button.icon .lucide{width:12px;height:12px}.table-footer .pages .gap{color:var(--ink-dim);padding:0 4px}.page-size{border:var(--bw-hair) solid transparent;border-radius:var(--r-xs);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.page-size:hover{color:var(--ink);border-color:var(--line-hi)}.scroll-foot{flex-direction:column;display:none}.list-card[data-paging=scroll] .scroll-foot{display:flex}.list-card[data-paging=scroll] .table-footer,.list-card[data-paging=pages] .scroll-foot{display:none}.skeleton-rows{border-top:var(--bw-hair) solid var(--line)}.skel-row{align-items:center;gap:var(--sp-3);padding:11px var(--sp-4);border-bottom:var(--bw-hair) solid var(--line);display:flex}.skel-row:last-child{border-bottom:0}.skel{background:linear-gradient(90deg, color-mix(in srgb, var(--ink) 4%, transparent) 0%, color-mix(in srgb, var(--ink) 8%, transparent) 50%, color-mix(in srgb, var(--ink) 4%, transparent) 100%);background-size:200% 100%;border-radius:2px;height:12px;animation:1.4s ease-in-out infinite skel-shimmer;display:inline-block}.skel.s-check{border-radius:3px;flex-shrink:0;width:14px;height:14px}.skel.s-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.skel.s-id{width:28%;height:14px}.skel.s-md{width:14%}.skel.s-sm{width:8%}@keyframes skel-shimmer{0%{opacity:.7;background-position:200% 0}50%{opacity:1}to{opacity:.7;background-position:-200% 0}}.scroll-status{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:color-mix(in srgb, var(--bg-elev) 60%, var(--bg-panel));border-top:var(--bw-hair) solid var(--line);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);font-size:10px;font-weight:600;display:flex}.scroll-meta span{color:var(--ink)}.scroll-state{align-items:center;gap:8px;display:inline-flex}.scroll-state .state-idle,.scroll-state .state-loading,.scroll-state .state-end{align-items:center;gap:8px;display:none}.scroll-state[data-scroll-state=idle] .state-idle{display:inline-flex}.scroll-state[data-scroll-state=loading] .state-loading,.scroll-state[data-scroll-state=end] .state-end{color:var(--brand);display:inline-flex}.link-load,.link-top{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:10px;font-weight:600;display:inline-flex}.link-load:hover,.link-top:hover{color:var(--brand)}.dot-pulse{align-items:center;gap:3px;display:inline-flex}.dot-pulse i{background:var(--brand);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite dot-pulse;display:inline-block}.dot-pulse i:nth-child(2){animation-delay:.15s}.dot-pulse i:nth-child(3){animation-delay:.3s}@keyframes dot-pulse{0%,60%,to{opacity:.25;transform:scale(.8)}30%{opacity:1;transform:scale(1.1)}}.scroll-sentinel{width:100%;height:1px}.scroll-state[data-scroll-state=end]~.scroll-meta .link-top{opacity:1}.bulk-bar{align-items:center;gap:var(--sp-3);padding:8px var(--sp-4);background:color-mix(in srgb, var(--brand) 18%, var(--bg-elev));border-top:1px solid var(--brand);border-bottom:1px solid var(--brand);font-size:var(--fs-xs);display:none;position:sticky;bottom:0}.bulk-bar.is-visible{display:flex}.bulk-count{color:var(--ink)}.bulk-count strong{font-family:var(--font-mono);letter-spacing:.08em;background:var(--bg-panel);border:1px solid var(--brand);border-radius:var(--r-xs);color:var(--brand);margin-right:6px;padding:1px 8px;font-size:11px;display:inline-block}.bulk-actions{gap:var(--sp-2);align-items:center;margin-left:auto;display:flex}.bulk-close{border:var(--bw-hair) solid transparent;width:24px;height:24px;color:var(--ink-2);cursor:pointer;border-radius:var(--r-xs);background:0 0;justify-content:center;align-items:center;display:inline-flex}.bulk-close:hover{color:var(--ink);background:color-mix(in srgb, var(--bg) 40%, transparent)}.empty-state{text-align:center;padding:var(--sp-12) var(--sp-6);justify-content:center;align-items:center;gap:var(--sp-3);color:var(--ink-muted);flex-direction:column;min-height:380px;display:none}.empty-art{width:220px;height:140px;color:var(--brand);margin-bottom:var(--sp-2)}.empty-art svg{width:100%;height:100%;display:block}.empty-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:22px;font-weight:500}.empty-text{max-width:48ch;font-size:var(--fs-sm);color:var(--ink-muted);line-height:var(--lh-snug);text-wrap:pretty;margin:0}.empty-actions{gap:var(--sp-2);margin-top:var(--sp-3);display:flex}.empty-tips{justify-content:center;align-items:center;gap:var(--sp-3);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:var(--bw-hair) solid var(--line);flex-wrap:wrap;width:100%;max-width:480px;display:flex}.empty-tips .tip-label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);font-size:9px;font-weight:600}.empty-tips .tip{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);background:var(--bg-elev);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);padding:2px 8px;font-size:10px}.list-card[data-empty=on] table.data,.list-card[data-empty=on] .table-footer,.list-card[data-empty=on] .scroll-foot{display:none}.list-card[data-empty=on] .empty-state{display:flex}.side-panel-backdrop{z-index:80;background:#0000002e;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.side-panel-backdrop.is-open{display:block}.side-panel{background:var(--bg-panel);border-left:var(--bw-hair) solid var(--line-hi);z-index:90;flex-direction:column;width:480px;max-width:90vw;display:none;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 32px #00000059}.side-panel.is-open{display:flex}.side-panel-head{padding:var(--sp-3) var(--sp-4);border-bottom:var(--bw-hair) solid var(--line);justify-content:space-between;align-items:center;display:flex}.side-panel-eyebrow{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--brand);font-size:10px;font-weight:600}.side-panel-close{border:var(--bw-hair) solid transparent;border-radius:var(--r-xs);width:28px;height:28px;color:var(--ink-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.side-panel-close:hover{background:var(--bg-hover);color:var(--ink);border-color:var(--line-hi)}.side-panel-id-row{align-items:baseline;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) 4px;display:flex}.side-panel-title{font-family:var(--font-serif);color:var(--ink);letter-spacing:-.01em;word-break:break-word;flex:1;min-width:0;margin:0;font-size:22px;font-weight:500;line-height:1.15}.side-panel-stage{flex-shrink:0;align-self:flex-start;margin-top:4px}.side-panel-sub{padding:0 var(--sp-4) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.06em;color:var(--ink-muted)}.side-panel-tabs{padding:0 var(--sp-4);border-bottom:var(--bw-hair) solid var(--line);background:var(--bg-elev);gap:0;display:flex}.side-panel-tabs button{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:5px;margin-bottom:-1px;padding:9px 12px;font-size:10px;font-weight:600;display:inline-flex}.side-panel-tabs button:hover{color:var(--ink)}.side-panel-tabs button.is-active{color:var(--brand);border-bottom-color:var(--brand)}.side-panel-tabs .ct{background:var(--bg-input);font-family:var(--font-mono);color:var(--ink-dim);letter-spacing:.04em;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:500}.side-panel-body{padding:var(--sp-4);gap:var(--sp-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sp-section{gap:var(--sp-2);flex-direction:column;display:flex}.sp-section-head{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:8px;font-size:10px;font-weight:600;display:inline-flex}.sp-section-head .dot{background:var(--brand);border-radius:50%;width:6px;height:6px}.sp-kv{background:var(--line);border:var(--bw-hair) solid var(--line);border-radius:var(--r-xs);grid-template-columns:110px 1fr;gap:1px;margin:0;display:grid;overflow:hidden}.sp-kv-row{display:contents}.sp-kv-row dt,.sp-kv-row dd{background:var(--bg-elev);font-size:var(--fs-xs);margin:0;padding:7px 10px}.sp-kv-row dt{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-muted);text-transform:uppercase;font-size:10px;font-weight:600}.sp-kv-row dd{color:var(--ink)}.sp-timeline{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sp-timeline li{font-size:var(--fs-xs);color:var(--ink-2);background:var(--bg-elev);border-radius:var(--r-xs);border-left:2px solid var(--line-hi);align-items:baseline;gap:8px;padding:6px 8px;display:flex}.sp-timeline strong{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink);font-size:10px;font-weight:600}.sp-timeline .t-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;transform:translateY(-1px)}.sp-timeline .t-dot.tone-info{background:var(--info-500)}.sp-timeline .t-dot.tone-warning{background:var(--warning-500)}.sp-timeline .t-dot.tone-brand{background:var(--brand)}.sp-timeline .t-dot.tone-danger{background:var(--danger-500)}.sp-nba{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--bg-elev);border:var(--bw-hair) solid var(--line-hi);border-left:2px solid var(--brand);border-radius:var(--r-xs);display:flex}.sp-nba .ic{background:color-mix(in srgb, var(--brand) 14%, var(--bg-panel));width:32px;height:32px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sp-nba>div{flex:1;min-width:0}.sp-nba .nba-title{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.sp-nba .nba-meta{font-size:var(--fs-2xs);color:var(--ink-muted);margin-top:2px}.sp-nba .nba-meta strong{color:var(--ink)}.side-panel-foot{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:var(--bw-hair) solid var(--line);background:var(--bg-elev);display:flex}.popover{z-index:100;background:var(--bg-elev);border:var(--bw-hair) solid var(--line-hi);border-radius:var(--r-xs);min-width:240px;max-width:320px;font-size:var(--fs-xs);animation:pop-in .12s var(--ease-out);padding:6px;position:absolute;box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.popover[hidden]{display:none}.popover-section{flex-direction:column;gap:1px;display:flex}.popover-section+.popover-section{margin-top:4px}.popover-head{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);padding:6px 8px 4px;font-size:10px;font-weight:600}.popover hr{border:0;border-top:var(--bw-hair) solid var(--line);margin:4px 0}.popover-opt{text-align:left;width:100%;font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;border-radius:var(--r-xs);font-family:var(--font-sans);background:0 0;border:0;align-items:center;gap:8px;padding:7px 8px;display:flex}.popover-opt:hover{background:var(--bg-hover);color:var(--ink)}.popover-opt .lucide{width:13px;height:13px;color:var(--ink-muted);flex-shrink:0}.popover-opt:hover .lucide,.popover-opt.is-active{color:var(--brand)}.popover-opt.is-active .lucide.check{color:var(--brand);margin-left:auto}.popover-opt.is-active>.lucide:first-child{color:var(--brand)}.popover-opt.subtle{color:var(--ink-muted);font-size:var(--fs-2xs)}.popover-opt.danger,.popover-opt.danger .lucide{color:var(--danger-500)}.popover-opt.danger:hover{background:color-mix(in srgb, var(--danger-500) 12%, transparent)}.popover-opt .check{margin-left:auto}.popover-check{font-size:var(--fs-xs);color:var(--ink-2);cursor:pointer;border-radius:var(--r-xs);align-items:center;gap:8px;padding:6px 8px;display:flex}.popover-check:hover{background:var(--bg-hover);color:var(--ink)}.popover-check input{accent-color:var(--brand)}.popover-check .ct{font-family:var(--font-mono);color:var(--ink-dim);margin-left:auto;font-size:10px}.popover-check .av-tag{flex-shrink:0;width:18px;height:18px}.popover-row{gap:var(--sp-2);padding:6px 8px;display:flex}.popover-row label{flex-direction:column;flex:1;gap:3px;display:flex}.popover-row span{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:9px;font-weight:600}.popover-row input{background:var(--bg-input);border:var(--bw-hair) solid var(--line-hi);border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink);outline:0;padding:5px 6px}.popover-row input:focus{border-color:var(--brand)}.kpi{border-left:2px solid #0000}.kpi--interactive{text-align:left;font:inherit;cursor:pointer;transition:background var(--d-fast) var(--ease-out), border-left-color var(--d-fast) var(--ease-out);background:0 0;border-top:0;border-bottom:0;border-right:0}.kpi--interactive:hover{background:var(--bg-hover)}.kpi--interactive:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.kpi.is-active{background:color-mix(in srgb, var(--brand) 8%, transparent);border-left-color:var(--brand)}.kpi.is-active .kpi-label{color:var(--brand)}.kpi--warning .kpi-value{color:var(--warning-500)}.kpi--danger .kpi-value{color:var(--danger-500)}.kpi--brand .kpi-value{color:var(--brand)}.kpi--success .kpi-value{color:var(--ink)}.kpi-value.danger{color:var(--danger-500)}@media print{.kpi--interactive{cursor:auto;background:0 0}.kpi.is-active{background:0 0;border-left-color:currentColor}}.progress-bar{background:var(--bg-elev);font-variant-numeric:tabular-nums;border-radius:7px;align-items:center;gap:6px;width:110px;height:14px;font-size:11px;display:inline-flex;position:relative;overflow:hidden}.progress-bar-fill{width:var(--progress,0%);background:var(--brand);transition:width var(--d-fast,.18s) ease-out;border-radius:7px 0 0 7px;position:absolute;top:0;bottom:0;left:0;right:auto}.progress-bar-label{color:var(--ink);z-index:1;margin-left:auto;padding:0 6px;position:relative}td.col-due.due-warn,td.col-due.due-overdue,td.col-due.due-danger{font-variant-numeric:tabular-nums;white-space:nowrap}td.col-due.due-warn{color:var(--warning-500);font-weight:600}td.col-due.due-overdue,td.col-due.due-danger{color:var(--danger-500);font-weight:600}.welle-4-stub{padding:var(--sp-6);max-width:720px}.welle-4-stub-back{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-6);font-size:var(--fs-xs);color:var(--ink-2);font-variant-numeric:tabular-nums;text-decoration:none;display:inline-flex}.welle-4-stub-back:hover{color:var(--brand)}.welle-4-stub-link{color:var(--brand);text-underline-offset:2px;text-decoration:underline}.welle-4-stub-link:hover{text-decoration:none}.welle-4-stub .info-card p{margin-top:var(--sp-3);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.5}.welle-4-stub .info-card p:first-child{margin-top:0}.portal-root{--brand:#3fb556;--brand-soft:#52d46a1a;--accent:#2e8fe0;--signal:#e66a2c;--ink:#0d1620;--ink-soft:#62707f;--paper:#fafbfc;--paper-alt:#f0f3f7;--line:#d8dee5;--radius-card:8px;--radius-stationery:4px;--track-head:-.01em;--track-eyebrow:.16em;background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--portal-font-body,"IBM Plex Sans", system-ui, sans-serif)}.portal-shell{flex-direction:column;min-height:100vh;display:flex}.portal-shell main{flex:1 0 auto;width:100%}.portal-header{background:var(--paper);border-bottom:1px solid var(--line);padding:20px 32px}.portal-header-inner{align-items:center;gap:16px;max-width:1080px;margin:0 auto;display:flex}.portal-header-brand{color:inherit;align-items:center;gap:14px;text-decoration:none;display:flex}.portal-header-logo{width:auto;height:36px;display:block}.portal-header-text{flex-direction:column;gap:2px;display:flex}.portal-header-name{letter-spacing:var(--track-head);color:var(--ink);font-size:16px;font-weight:600}.portal-header-tagline{letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--ink-soft);font-size:12px;font-weight:500}.portal-footer{background:var(--paper-alt);border-top:1px solid var(--line);margin-top:64px;padding:40px 32px 32px}.portal-footer-inner{grid-template-columns:1fr;gap:32px;max-width:1080px;margin:0 auto;display:grid}@media (min-width:720px){.portal-footer-inner{grid-template-columns:1.2fr 2fr 1fr}}.portal-footer-brand-block{flex-direction:column;gap:8px;display:flex}.portal-footer-brand-name{letter-spacing:var(--track-head);color:var(--ink);font-size:14px;font-weight:600}.portal-footer-brand-legal{color:var(--ink-soft);font-size:12px}.portal-footer-locations{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:480px){.portal-footer-locations{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.portal-footer-location{color:var(--ink-soft);flex-direction:column;gap:2px;font-size:12px;display:flex}.portal-footer-location-city{color:var(--ink);letter-spacing:var(--track-eyebrow);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:600}.portal-footer-meta{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:12px;display:flex}.portal-footer-meta a{color:var(--brand);text-decoration:none}.portal-footer-meta a:hover{text-decoration:underline}.portal-footer-copyright{border-top:1px solid var(--line);color:var(--ink-soft);letter-spacing:var(--track-eyebrow);text-transform:uppercase;text-align:center;margin-top:24px;padding-top:20px;font-size:11px}.portal-landing{flex-direction:column;gap:24px;max-width:640px;margin:0 auto;padding:80px 32px 64px;display:flex}.portal-landing-eyebrow{letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--brand);font-size:11px;font-weight:600}.portal-landing-title{letter-spacing:var(--track-head);color:var(--ink);margin:0;font-size:32px;font-weight:600;line-height:1.15}.portal-landing-lead{color:var(--ink-soft);margin:0;font-size:16px;line-height:1.6}.portal-landing-card{background:var(--brand-soft);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:12px;padding:24px;display:flex}.portal-landing-card-title{color:var(--ink);margin:0;font-size:14px;font-weight:600}.portal-landing-card-body{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.55}.portal-landing-cta{background:var(--brand);color:#fff;border-radius:var(--radius-stationery);letter-spacing:.01em;cursor:pointer;border:none;justify-content:center;align-self:flex-start;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .12s;display:inline-flex}.portal-landing-cta:hover{opacity:.92}.portal-auth{flex-direction:column;gap:20px;max-width:440px;margin:0 auto;padding:80px 32px 64px;display:flex}.portal-auth-eyebrow{letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--brand);font-size:11px;font-weight:600}.portal-auth-title{letter-spacing:var(--track-head);color:var(--ink);margin:0;font-size:26px;font-weight:600;line-height:1.2}.portal-auth-lead{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.55}.portal-auth-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:16px;padding:28px 24px;display:flex}.portal-form-field{flex-direction:column;gap:6px;display:flex}.portal-form-label{color:var(--ink);letter-spacing:.01em;font-size:13px;font-weight:600}.portal-form-hint{color:var(--ink-soft);font-size:12px;line-height:1.4}.portal-form-input{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-stationery);padding:11px 14px;font-family:inherit;font-size:15px;transition:border-color .12s,box-shadow .12s}.portal-form-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.portal-form-input:disabled{background:var(--paper-alt);cursor:not-allowed}.portal-form-otp{letter-spacing:.45em;text-align:center;width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-stationery);padding:14px 16px;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:24px;font-weight:600;transition:border-color .12s,box-shadow .12s}.portal-form-otp:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.portal-form-checkbox{color:var(--ink);cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;display:flex}.portal-form-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer;flex:none;margin-top:2px}.portal-form-actions{flex-direction:column;gap:12px;margin-top:4px;display:flex}.portal-form-button{background:var(--brand);color:#fff;border-radius:var(--radius-stationery);letter-spacing:.01em;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .12s;display:inline-flex}.portal-form-button:hover:not(:disabled){opacity:.92}.portal-form-button:disabled{opacity:.55;cursor:not-allowed}.portal-form-button-ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.portal-form-button-ghost:hover:not(:disabled){background:var(--paper-alt);opacity:1}.portal-status{border-radius:var(--radius-stationery);border:1px solid var(--line);background:var(--paper-alt);color:var(--ink);padding:12px 14px;font-size:13px;line-height:1.5}.portal-status-success{background:var(--brand-soft);border-color:var(--brand);color:var(--ink)}.portal-status-warning{border-color:var(--signal);color:var(--ink);background:#e66a2c1a}.portal-status-error{color:var(--ink);background:#d93c3c1a;border-color:#c04040}.portal-auth-footer-link{text-align:center;color:var(--ink-soft);font-size:13px}.portal-auth-footer-link a{color:var(--brand);font-weight:600;text-decoration:none}.portal-auth-footer-link a:hover{text-decoration:underline}.portal-dashboard{flex-direction:column;gap:24px;max-width:880px;margin:0 auto;padding:64px 32px;display:flex}.portal-dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.portal-dashboard-heading{flex-direction:column;gap:8px;display:flex}.portal-dashboard-eyebrow{letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--brand);font-size:11px;font-weight:600}.portal-dashboard-title{letter-spacing:var(--track-head);color:var(--ink);margin:0;font-size:28px;font-weight:600;line-height:1.2}.portal-dashboard-lead{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.55}.portal-dashboard-placeholder{border:1px dashed var(--line);border-radius:var(--radius-card);background:var(--paper-alt);color:var(--ink-soft);padding:32px;font-size:14px;line-height:1.55}