
:root{
 --ui-font:Arial;--bg:#F5F7F9;--surface:#FFFFFF;--surface-subtle:#F1F5F6;--surface-hover:#F4F7F8;--surface-pressed:#E7EEF1;
 --text:#192534;--text-secondary:#465565;--muted:#647184;--placeholder:#6E7B88;--line:#DFE5EA;--line-strong:#BBC9CE;--field-line:#C6D1D8;
 --accent:#0F766E;--accent-hover:#0B625C;--accent-active:#09544F;--soft:#EAF6F3;--soft-text:#126058;--soft-line:#AFD6CF;--focus:#0F766E;--on-accent:#FFFFFF;
 --danger:#B52F43;--danger-bg:#FFF1F2;--danger-line:#F2BAC4;--success:#176B45;--success-bg:#EAF6EE;--warning:#875313;--warning-bg:#FFF5DF;--info:#245EA8;--info-bg:#ECF3FE;
 --disabled-bg:#EEF0F2;--disabled-text:#777F88;--radius:12px;--lab-height:146px;--nav-width:224px;
 --page-pad:24px;--block-gap:24px;--inner:20px;--grid-gap:16px;--control:40px;--control-x:14px;--nav-item:44px;--field-gap:12px;--media:180px;--row-y:14px;--thumb:52px;--flow:12px;
}
*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--text);font:400 14px/20px var(--ui-font),Arial,sans-serif;font-synthesis:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px}img{display:block;max-width:100%}a{color:var(--accent)}[hidden]{display:none!important}svg.i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:26px;line-height:34px;letter-spacing:-.4px;font-weight:700}h2{font-size:18px;line-height:26px;font-weight:600}h3{font-size:16px;line-height:24px;font-weight:600}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.caption{font-size:12px;line-height:18px}.inline{display:flex;gap:8px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control);padding:calc((var(--control) - 22px)/2) var(--control-x);border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:14px;line-height:20px;font-weight:600;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--surface-hover);border-color:var(--line-strong)}.btn:active{background:var(--surface-pressed)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:active{background:var(--accent-active);border-color:var(--accent-active)}.btn.ghost{border-color:transparent;background:none;color:var(--accent)}.btn.ghost:hover{background:var(--surface-hover)}.btn.icon{width:var(--control);padding:8px;flex-shrink:0}.btn.sm{font-size:12px;line-height:20px;min-height:var(--control);padding:calc((var(--control) - 22px)/2) 10px}.btn.chosen{border-color:var(--soft-line);color:var(--soft-text);background:var(--soft)}.btn.chosen:hover{border-color:var(--accent)}.btn:disabled{background:var(--disabled-bg);border-color:var(--line);color:var(--disabled-text)}
.field{width:100%;height:var(--control);border:1px solid var(--field-line);border-radius:8px;background:var(--surface);padding:calc((var(--control) - 22px)/2) 12px;font-size:14px;line-height:20px;min-width:0}.field::placeholder,.range input::placeholder{color:var(--placeholder)}.field:hover{border-color:var(--line-strong)}.field:focus{border-color:var(--accent)}select.field{padding-right:26px}label.form-label{display:grid;gap:6px;font-size:12px;line-height:18px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:2px 8px;border-radius:5px;background:var(--surface-subtle);color:var(--text-secondary);font-size:12px;line-height:18px;font-weight:500}.badge.soft{background:var(--soft);color:var(--soft-text)}
/* Neutral test controls do not change size or color between density variants. */
.lab{position:sticky;top:0;z-index:30;padding:14px 24px 10px;background:#FFF;border-bottom:1px solid #D9E0E7;color:#24303F;--control:36px;--control-x:12px;--focus:#24303F;box-shadow:0 3px 8px #172B4005}
.lab-top,.lab-controls,.lab-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px}.lab-top{margin-bottom:12px}.lab-title{display:flex;align-items:center;gap:10px;font-size:15px;line-height:22px;font-weight:700}.step-badge{padding:3px 7px;border-radius:5px;background:#24303F;color:#FFF;font-size:11px;line-height:18px;white-space:nowrap}.font-lock{display:inline-flex;gap:5px;align-items:center;border:1px solid #DDE3E9;border-radius:5px;padding:2px 7px;color:#576474;font-size:11px;line-height:18px;font-weight:500;white-space:nowrap}.font-lock .i{width:13px;height:13px}.stages{display:flex;gap:14px;color:#697684;font-size:11px;line-height:18px}.stages span{white-space:nowrap}.stages i{font-style:normal;margin-right:4px}.stages .active{font-weight:700;color:#24303F}.density-picker{display:flex;gap:8px;align-items:center}.density-option{display:flex;gap:9px;align-items:center;min-height:42px;border:1px solid #DAE1E8;border-radius:8px;padding:9px 13px;background:#FFF;color:#344150;font-size:13px;line-height:20px;font-weight:600;white-space:nowrap}.density-option:hover{background:#F4F6F8;border-color:#ABB7C4}.density-option[aria-pressed="true"]{background:#F1F3F5;box-shadow:0 0 0 1px #344150;border-color:#344150;color:#1A2531}.key{font:400 10px/16px var(--ui-font),Arial;border:1px solid #B3BFCA;border-radius:3px;color:#677381;padding:0 4px}.lab-actions{display:flex;gap:8px;align-items:center}.lab .btn{font-size:12px;color:#344150;border-color:#DCE2E8;min-height:38px;padding:8px 11px;gap:6px;line-height:20px}.lab .btn:hover{background:#F4F6F8}.lab .btn.primary{background:#24303F;color:#FFF;border-color:#24303F}.lab .btn.primary:hover{background:#142131}.lab .btn:disabled{background:#EEF0F2;color:#777F88;border-color:#DDE3E9}.lab .i{width:16px;height:16px}.lab-bottom{margin-top:9px;color:#637082;font-size:11px;line-height:18px}.font-status{display:flex;align-items:center;gap:7px;white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:#D29123;flex-shrink:0}.font-status[data-state="ready"] .status-dot{background:#546371}.font-status[data-state="error"]{color:#A34524}.font-status[data-state="error"] .status-dot{background:#B55C2E}.load-warning{margin:12px 24px 12px calc(var(--nav-width) + 24px);padding:12px 16px;border:1px solid #E5C699;border-radius:8px;background:#FFF9EE;color:#805321;font-size:13px;line-height:20px}.load-warning button{font-weight:700;text-decoration:underline}.clean-mode .lab{display:none}.restore-lab{position:fixed;right:20px;bottom:20px;z-index:45;min-height:40px;padding:10px 14px;display:flex;gap:8px;align-items:center;border-radius:24px;background:#24303F;color:#FFF;font-size:12px;line-height:20px;box-shadow:0 4px 18px #172B4028}.restore-lab .i{width:16px;height:16px}
/* Product shell is identical in all three variants. */
.app{min-height:calc(100dvh - var(--lab-height));font:400 14px/20px var(--ui-font),Arial,sans-serif;font-synthesis:none;font-optical-sizing:auto}.sidebar{position:fixed;top:var(--lab-height);left:0;bottom:0;width:var(--nav-width);padding:16px 12px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);z-index:15;overflow-y:auto;overflow-x:hidden}.brand{display:flex;align-items:center;height:32px;min-height:32px;width:156px;overflow:hidden;margin:0 10px 28px;flex-shrink:0}.brand img{width:138px;max-width:none;height:32px;object-fit:contain;flex-shrink:0}.nav{display:flex;flex-direction:column;gap:4px}.nav button{display:flex;align-items:center;gap:12px;min-height:var(--nav-item);padding:calc((var(--nav-item) - 20px)/2) 12px;border-radius:8px;text-align:left;font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;flex-shrink:0}.nav button:hover{background:var(--surface-hover)}.nav button[aria-current="page"]{background:var(--soft);color:var(--soft-text);font-weight:600}.nav button[aria-disabled="true"]{color:var(--muted);cursor:default}.nav button[aria-disabled="true"]:hover{background:none}.nav-note{font-size:11px;line-height:18px;color:var(--muted);padding:0 12px;margin-top:20px}.sidebar-footer{margin-top:auto;padding:16px 10px 0;font-size:11px;line-height:18px;color:var(--muted)}.sidebar-footer strong{font-size:12px;line-height:18px;color:var(--text-secondary);font-weight:600}.sidebar-footer p{margin-top:4px}.app-body{margin-left:var(--nav-width);min-width:0;container-type:inline-size}.topbar{position:sticky;top:var(--lab-height);z-index:10;display:flex;align-items:center;gap:12px;height:64px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--line);--control:40px;--control-x:14px}.menu-toggle{display:inline-flex}.topbar-search{position:relative;max-width:470px;flex:1;min-width:120px}.topbar-search>.i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted)}.topbar-search input{padding-left:40px;background:var(--surface-subtle)}.topbar-right{display:flex;gap:16px;align-items:center;margin-left:auto}.workspace{display:grid;gap:1px;font-size:11px;line-height:16px;color:var(--muted)}.workspace b{font-size:13px;line-height:20px;color:var(--text);font-weight:600}.avatar{width:34px;height:34px;border-radius:50%;background:var(--soft);color:var(--accent);display:grid;place-items:center;font-size:12px;line-height:18px;font-weight:600}.main{padding:var(--page-pad);max-width:1760px;margin:0 auto}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:var(--block-gap)}.pagehead p{color:var(--muted);margin-top:5px;font-size:14px;line-height:20px}.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.filters{padding:var(--inner);margin-bottom:var(--block-gap)}.filter-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--flow);gap:12px}.filter-top h2{font-size:14px;line-height:20px}.filter-grid{display:grid;grid-template-columns:1.1fr 1fr 1.15fr 1fr auto;align-items:end;gap:var(--field-gap)}.range{display:flex;height:var(--control);border:1px solid var(--field-line);border-radius:8px;overflow:hidden;background:var(--surface)}.range:focus-within{outline:2px solid var(--focus);outline-offset:3px}.range input{width:50%;min-width:0;border:0;padding:calc((var(--control) - 22px)/2) 12px;background:var(--surface);font-size:14px;line-height:20px;outline:none}.range input+input{border-left:1px solid var(--line)}.extra-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--field-gap);border-top:1px solid var(--line);margin-top:var(--inner);padding-top:var(--inner)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:var(--grid-gap);min-height:var(--control)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:12px}.toolbar strong{font-weight:600}.toolbar .field{width:auto;min-width:178px}.segmented{display:flex;padding:3px;gap:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface);height:var(--control)}.segmented button{display:flex;align-items:center;justify-content:center;padding:2px 8px;min-width:30px;border-radius:5px;color:var(--muted)}.segmented button[aria-pressed="true"]{color:var(--soft-text);background:var(--soft)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}.property-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.property-card:hover{border-color:var(--line-strong);box-shadow:0 4px 18px #20304408}.card-media{position:relative;height:var(--media);background:var(--surface-subtle);overflow:hidden}.card-media>img{width:100%;height:100%;object-fit:cover}.card-media .badge{position:absolute;left:12px;top:12px;background:var(--surface);color:var(--text-secondary);box-shadow:0 1px 3px #00000010}.fav{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#FFF;color:var(--muted)}.fav[aria-pressed="true"]{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-line)}.fav[aria-pressed="true"] .i{fill:currentColor;stroke-width:0}.fav:hover{border-color:var(--danger);color:var(--danger)}.media-caption{position:absolute;bottom:8px;left:10px;background:#192534C9;color:#FFF;font-size:10px;line-height:16px;border-radius:4px;padding:2px 6px}.card-content{padding:var(--inner);display:flex;flex-direction:column;flex:1;min-width:0}.card-price{font-size:20px;line-height:28px;font-weight:700;white-space:nowrap;letter-spacing:-.25px}.sqm{font-size:12px;line-height:18px;color:var(--muted);margin-top:2px}.card-title{font-size:16px;line-height:24px;font-weight:600;margin-top:var(--flow)}.facts{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--text-secondary);font-size:12px;line-height:18px}.building-name{font-size:14px;line-height:20px;font-weight:600;margin-top:var(--flow)}.address{font-size:12px;line-height:18px;color:var(--muted);margin-top:5px;margin-bottom:var(--flow);height:54px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere}.card-actions{display:flex;gap:8px;margin-top:auto;padding-top:var(--flow);border-top:1px solid var(--line)}.card-actions>.btn{flex:1}.card-actions>.btn.icon{flex:0 0 var(--control)}.listing-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;line-height:18px;margin-top:var(--grid-gap)}.page-current{display:grid;place-items:center;width:32px;height:32px;background:var(--accent);color:#FFF;border-radius:7px;font-weight:600}.empty{text-align:center;padding:48px 24px}.empty p{color:var(--muted);margin:10px 0 20px}
.table-scroll{overflow:auto;border-radius:var(--radius)}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px;line-height:20px;min-width:790px}th{padding:12px var(--inner);background:var(--surface-subtle);border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;line-height:18px;font-weight:500;white-space:nowrap}td{padding:var(--row-y) var(--inner);border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-hover)}.table-object{display:flex;align-items:center;gap:12px;min-width:230px;max-width:420px}.table-object img,.table-placeholder{width:70px;height:var(--thumb);border-radius:6px;object-fit:cover;flex-shrink:0}.table-placeholder{background:var(--surface-subtle);display:grid;place-items:center;color:var(--muted)}.table-object b{font-size:14px;line-height:20px;font-weight:600}.table-object small{display:block;color:var(--muted);font-size:12px;line-height:18px;margin-top:4px}.table-price{font-weight:600;white-space:nowrap}.table-price small{display:block;font-size:12px;line-height:18px;color:var(--muted);font-weight:400;margin-top:4px}.collection-summary{display:flex;flex-wrap:wrap;gap:var(--inner) 32px;padding:var(--inner);margin-bottom:var(--grid-gap)}.summary-item{display:grid;gap:5px;min-width:130px}.summary-item span{font-size:12px;line-height:18px;color:var(--muted)}.summary-item strong{font-weight:600;font-size:16px;line-height:24px}.collection-note{padding:var(--inner);margin-bottom:var(--block-gap);display:flex;align-items:center;justify-content:space-between;gap:16px}.collection-note .caption{margin-bottom:5px}.collection-group{margin-bottom:var(--grid-gap);overflow:hidden}.section-head{padding:var(--inner);display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{font-size:16px;line-height:24px}.group-toggle{width:100%;text-align:left;background:var(--surface)}.group-toggle:hover{background:var(--surface-hover)}.group-toggle .i{color:var(--muted);transform:rotate(180deg)}.group-toggle[aria-expanded="false"] .i{transform:none}.section-head-right{display:flex;align-items:center;gap:14px}.breadcrumbs{font-size:12px;line-height:18px;color:var(--muted);margin-bottom:8px}.breadcrumbs button{padding:0;color:var(--accent);font-size:12px;line-height:18px}.mobile-nav-scrim{position:fixed;inset:var(--lab-height) 0 0;background:#16273766;z-index:14}
.dialog{padding:0;border:1px solid var(--line);border-radius:16px;color:var(--text);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);width:560px;background:var(--surface);overflow:auto;box-shadow:0 24px 80px #0D213F35;font:400 14px/20px var(--ui-font),Arial,sans-serif;font-synthesis:none}.dialog::backdrop{background:#23334466}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:var(--inner);border-bottom:1px solid var(--line);gap:16px}.dialog-body{padding:var(--inner)}.dialog-body .form-label+.form-label{margin-top:var(--flow)}.dialog-foot{padding:16px var(--inner);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dialog textarea{min-height:96px;resize:vertical}.stage-warning,.smallnote,.final-choice{font-size:12px;line-height:18px;color:var(--muted);margin-top:14px}.stage-warning{padding:12px;background:var(--surface-subtle);border-radius:8px}.result-box{padding:16px;border-radius:8px;background:var(--surface-subtle);white-space:pre-line;font-size:13px;line-height:22px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:8px;background:#24303F;color:#FFF;font-size:13px;line-height:20px;box-shadow:0 8px 32px #12345622}
/* Measurement panel: fixed, neutral presentation, never a fourth candidate. */
.measure-dialog{width:870px;--inner:24px;--control:40px;--control-x:14px}.measure-dialog .dialog-head h2{font-size:18px;line-height:26px}.measure-note{font-size:13px;line-height:21px;color:var(--muted);margin-top:6px}.measure-table{min-width:560px;font-size:13px}.measure-table th{background:#F4F6F8;padding:12px 14px;font-size:12px;line-height:18px}.measure-table td{padding:12px 14px;line-height:20px}.measure-table td:not(:first-child),.measure-table th:not(:first-child){text-align:center}.measure-table [data-picked="true"]{background:var(--soft);color:var(--soft-text)}.measure-table th button{padding:0;color:inherit;text-align:center;font-weight:600}.measure-fixed{margin-top:20px;padding:16px;background:var(--surface-subtle);border-radius:8px;font-size:12px;line-height:21px}.measure-fixed strong{display:block;color:var(--text);font-size:13px;margin-bottom:6px}.measure-structure{margin-top:20px;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:grid;grid-template-columns:112px 1fr;font-size:12px;line-height:18px}.structure-side{grid-row:1 / 5;background:var(--surface-subtle);padding:14px;display:flex;align-items:center;color:var(--text-secondary);border-right:1px solid var(--line)}.structure-line{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.structure-line:last-child{border-bottom:0}.structure-line span{color:var(--muted)}
@media(min-width:801px){.nav-collapsed{--nav-width:72px}.nav-collapsed .sidebar{padding:16px 10px}.nav-collapsed .brand{width:28px;margin:0 12px 28px}.nav-collapsed .nav button{justify-content:center;padding-left:0;padding-right:0}.nav-collapsed .nav-label,.nav-collapsed .nav-note,.nav-collapsed .sidebar-footer{display:none}}
@container(max-width:1160px){.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-grid>.btn{grid-column:4;justify-self:stretch}.head-actions .btn{font-size:12px}.pagehead{gap:16px}.pagehead p{max-width:390px}}
@container(max-width:920px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid>.btn{grid-column:auto}.pagehead{flex-wrap:wrap}.head-actions .btn{font-size:14px}.main{padding:var(--page-pad)}.topbar .caption{display:none}}
@container(max-width:590px){.cards{grid-template-columns:1fr}.pagehead{display:block}.head-actions{margin-top:16px}.head-actions .btn{flex:1;font-size:12px}.toolbar{flex-wrap:wrap;gap:12px}.toolbar-right{width:100%}.toolbar .field{flex:1;min-width:0}.extra-filters{grid-template-columns:1fr}.workspace{display:none}.topbar-right{gap:0}.collection-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary-item{min-width:0}.summary-item strong{font-size:14px;line-height:20px}.address{height:auto;min-height:36px}.section-head h2{font-size:15px}.section-head .badge{display:none}}
@media(max-width:1240px){.stages{gap:10px}.font-lock{display:none}.lab-title{font-size:14px}.lab-actions{gap:6px}.density-option{font-size:12px;gap:6px;padding:9px 10px}.lab .btn{font-size:11px;padding:8px 9px}}
@media(max-width:1030px){.stages span:not(.active){display:none}.lab-controls{flex-wrap:wrap;gap:10px}.lab-actions{margin-left:auto}.lab-bottom{flex-wrap:wrap;gap:4px 12px}.density-option{font-size:13px}.lab-title{font-size:15px}}
@media(max-width:800px){:root{--nav-width:224px}.sidebar{transform:translateX(-100%);box-shadow:0 0 25px #12345620}.sidebar.open{transform:translateX(0)}.app-body{margin-left:0}.topbar{padding:9px 16px;--control:44px}.load-warning{margin:12px 16px}.main{padding:min(var(--page-pad),24px) 16px}.lab{padding:12px 16px 10px}.lab-title{font-size:13px}.lab-top{gap:8px}.lab-controls{gap:10px}.density-picker{width:100%;gap:6px}.density-option{flex:1;font-size:11px;line-height:18px;padding:8px 5px;justify-content:center;min-height:36px}.density-option .key{display:none}.lab-actions{width:100%;justify-content:flex-end;margin:0;gap:6px}.lab-actions .btn{flex:1;min-height:34px;padding:6px 8px;font-size:11px}.lab-actions .i{width:14px;height:14px}.lab-bottom{font-size:10px;line-height:16px}.font-status{font-size:10px;line-height:16px}.app,.dialog:not(.measure-dialog){--control:max(44px,var(--desktop-control,40px))}.nav button{min-height:44px}.fav{width:40px;height:40px}.measure-dialog{--inner:16px}.measure-dialog .dialog-head h2{font-size:16px;line-height:24px}.structure-line{display:block}.structure-line span{display:block}.measure-structure{grid-template-columns:85px 1fr}.structure-side{padding:12px}.restore-lab{bottom:12px;right:12px;font-size:11px}.avatar{width:32px;height:32px}.nav-note{font-size:12px}.dialog-foot .btn{flex-grow:1}.card-content{padding:max(16px,var(--inner))}.filters{padding:max(16px,var(--inner))}}
@media(max-width:480px){.filter-grid{grid-template-columns:1fr}.filter-grid>.btn{grid-column:auto}.topbar-right{display:none}.topbar-search{max-width:none}.head-actions{gap:6px}.head-actions .btn{padding-left:10px;padding-right:10px;font-size:12px}.lab-title{font-size:12px}.lab-top .stages{display:none}.lab-title .font-lock{display:inline-flex;font-size:10px;padding:2px 5px}.font-lock .i{display:none}.lab-title{gap:7px}.density-option{font-size:10px}.step-badge{font-size:10px;padding:3px 6px}.toolbar-left{width:100%;justify-content:space-between}.dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.card-actions .btn{font-size:14px}.collection-note{align-items:flex-start}.lab-bottom #densityDescription{width:100%}}
@media(max-width:370px){.font-lock{display:none!important}.density-option{font-size:9px}.head-actions{flex-direction:column;align-items:stretch}.lab-actions .btn{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Step 4. Approved base: Manrope, palette A, balanced density. Component rules are for review. */
:root{--desktop-control:40px;--lab-height:137px}
button{touch-action:manipulation}.btn{transition:background .12s,border-color .12s,color .12s}.btn:focus-visible,.field:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.btn.danger-outline{color:var(--danger);border-color:var(--danger-line);background:var(--surface)}.btn.danger-outline:hover{background:var(--danger-bg)}.btn.danger{color:white;background:var(--danger);border-color:var(--danger)}.btn.danger:hover{background:#972237;border-color:#972237}.btn.danger:active{background:#7E1C2E}.btn.danger:disabled,.btn.primary:disabled{background:var(--disabled-bg);border-color:var(--line);color:var(--disabled-text)}.btn.icon.danger-outline{border-color:var(--line)}.btn.chosen{color:var(--soft-text);background:var(--soft);border-color:var(--soft-line)}.link-button{text-align:left;padding:0;color:inherit;font-weight:inherit;line-height:inherit}.link-button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.card-price{font-size:20px;line-height:28px}.card-title .link-button{font-weight:600}.btn[aria-busy="true"]{cursor:wait}.save-demo{min-width:142px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}
.foundation-lock{font-size:12px;line-height:20px;color:var(--muted);white-space:nowrap}.foundation-lock span{margin:0 6px;color:var(--line-strong)}.lab-screen-tabs{display:flex;gap:4px;padding:3px;border:1px solid #D9E0E7;border-radius:8px;background:#F6F7F9}.lab-screen-tabs button{min-height:34px;padding:6px 16px;border-radius:5px;font-size:12px;line-height:20px;color:#536171;white-space:nowrap}.lab-screen-tabs button[aria-pressed="true"]{background:#FFF;color:#192534;box-shadow:0 1px 4px #24303F18;font-weight:700}.lab-screen-tabs button:hover{background:#FFF}.lab-bottom{font-size:11px}.lab-top{margin-bottom:10px}.lab .btn{min-height:40px}.topbar .avatar{border:1px solid var(--soft-line);cursor:pointer}.profile-wrap{position:relative}.profile-popover{position:absolute;right:0;top:calc(100% + 12px);width:264px;padding:20px;box-shadow:0 8px 32px #19253418;z-index:20}.profile-popover hr{border:0;border-top:1px solid var(--line);margin:16px 0}.profile-popover .btn{margin-top:12px;width:100%}.profile-popover p{margin-top:4px}.state-tester{display:flex;gap:12px;justify-content:space-between;align-items:center;border:1px dashed #BBC9CE;border-radius:8px;padding:8px 12px;margin-bottom:16px;font-size:11px;line-height:18px;color:var(--muted)}.state-tester>div{display:flex;gap:4px;flex-wrap:wrap}.state-tester button{border-radius:5px;padding:5px 10px;font-size:11px;min-height:30px;color:var(--text-secondary)}.state-tester button[aria-pressed="true"]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #24303F16;font-weight:700}.clean-mode .state-tester{display:none}
.component-tabs{display:flex;align-items:stretch;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:auto}.component-tabs button{white-space:nowrap;min-height:44px;padding:10px 0 13px;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:13px;line-height:20px;font-weight:500}.component-tabs button[aria-selected="true"]{border-bottom-color:var(--accent);color:var(--accent);font-weight:700}.component-tabs button:hover{color:var(--accent)}.component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.specimen{padding:20px;min-width:0}.specimen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.specimen-head h2{font-size:16px;line-height:24px;font-weight:700}.specimen-head>span{white-space:nowrap}.specimen-note{font-size:13px;line-height:21px;color:var(--text-secondary);margin-bottom:18px;max-width:920px}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px}.token-line{font-size:11px;line-height:18px;color:var(--muted);border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.helper{font-size:12px;line-height:18px;color:var(--muted);margin-top:8px}.field-spaced{margin-top:18px}.field-error{display:flex;gap:6px;color:var(--danger);font-size:12px;line-height:18px;margin-top:6px}.field-error:before{content:'!';width:16px;height:16px;min-width:16px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;margin-top:1px}.field[aria-invalid="true"],.range:has([aria-invalid="true"]){border-color:var(--danger);background:var(--danger-bg)}.field[readonly]{background:var(--surface-subtle);color:var(--text-secondary)}.field:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.field:disabled:hover{border-color:var(--field-line)}textarea.field{height:auto;min-height:96px;resize:vertical;line-height:22px;padding:10px 12px}.char-count{text-align:right}.select-trigger{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;margin-top:6px}.select-trigger .i{width:16px;height:16px}.multi-wrap{position:relative}.multi-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:5;padding:12px;box-shadow:0 8px 28px #1925341A}.multi-options{max-height:216px;overflow:auto;margin:8px -4px 0}.multi-options .check-row{padding:10px 4px;border-radius:6px}.multi-options .check-row:hover{background:var(--surface-hover)}.multi-panel .btn{width:100%;margin-top:8px}.selected-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;min-height:28px}.removable-chip{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border:1px solid var(--soft-line);border-radius:6px;min-height:28px;padding:3px 6px 3px 8px;font-size:12px;line-height:18px;color:var(--soft-text)}.removable-chip button{padding:2px;display:grid;place-items:center;color:inherit}.removable-chip .i{width:14px;height:14px}.control-stack{display:grid;gap:18px;margin-top:18px}.check-row{display:flex;align-items:flex-start;gap:10px;line-height:22px;cursor:pointer;color:var(--text)}.check-row input{width:18px;height:18px;min-width:18px;margin:2px 0 0;accent-color:var(--accent);cursor:pointer}.check-row:has(input:disabled){cursor:not-allowed;color:var(--muted)}.check-row input:disabled{cursor:not-allowed}.check-row small,.switch-row small{display:block;font-size:12px;line-height:18px;color:var(--muted);margin-top:3px}.switch-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line);cursor:pointer}.switch-row input{appearance:none;width:38px;min-width:38px;height:22px;border:1px solid var(--line-strong);background:var(--line-strong);border-radius:20px;position:relative;cursor:pointer;transition:.15s}.switch-row input:after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #19253425;transition:.15s}.switch-row input:checked{background:var(--accent);border-color:var(--accent)}.switch-row input:checked:after{left:18px}.below{margin-top:16px}.component-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.component-card-grid .card-actions{flex-wrap:wrap}.component-card-grid .card-content{padding:20px}.component-card-grid .property-card{box-shadow:none}.component-card-grid .card-media{height:150px}.entity-preview{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.entity-preview .entity-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.entity-preview .entity-photo{height:150px;object-fit:cover;width:100%}.entity-preview .badge{align-self:flex-start}.entity-preview .entity-footer{margin-top:auto;padding-top:8px}.entity-preview .entity-footer .btn{width:100%}.entity-brand{width:56px;height:56px;display:grid;place-items:center;border-radius:10px;background:var(--surface-subtle);color:var(--text-secondary);font-size:22px;font-weight:700}.entity-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto;padding-top:20px}.entity-metrics span{font-size:12px;color:var(--muted)}.entity-metrics b{display:block;font-size:16px;line-height:24px;color:var(--text);margin-top:4px}.component-card-grid .address{min-height:36px;height:auto}.collection-card-wrap{max-width:480px}.collection-preview-image{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px}.collection-preview-image img{height:124px;width:100%;object-fit:cover;border-radius:7px}.collection-preview-fallback{height:124px;display:grid;place-items:center;background:var(--surface-subtle);border-radius:7px;color:var(--muted)}.table-action-row{display:flex;align-items:center;justify-content:flex-end;gap:8px}.table-scroll table{min-width:780px}.table-price{text-align:right}.table-thumb{width:70px;height:52px;object-fit:cover;border-radius:6px}.table-object .link-button{text-align:left;font-weight:600}.table-comment{font-size:12px;color:var(--muted);max-width:230px;line-height:18px}.favorite-btn[aria-pressed="true"]{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-line)}.favorite-btn[aria-pressed="true"] .i{fill:currentColor}.badge.success{color:var(--success);background:var(--success-bg)}.badge.warning{color:var(--warning);background:var(--warning-bg)}.badge.info{color:var(--info);background:var(--info-bg)}.badge .i{width:13px;height:13px}.message-examples{display:grid;gap:12px;margin-top:24px}.inline-message{padding:14px 16px;border-radius:8px;display:flex;gap:12px;font-size:13px;line-height:20px}.inline-message strong{font-weight:600}.inline-message p{margin-top:3px}.inline-message.info{background:var(--info-bg);color:var(--info)}.inline-message.warning{background:var(--warning-bg);color:var(--warning)}.compact-message{margin-top:16px;font-size:12px;line-height:18px}.empty-symbol{width:52px;height:52px;margin:0 auto 16px;background:var(--surface-subtle);border-radius:12px;display:grid;place-items:center;color:var(--muted)}.empty-symbol.error-symbol{background:var(--danger-bg);color:var(--danger)}.empty-symbol .i{width:24px;height:24px}.empty>p{max-width:420px;margin-left:auto;margin-right:auto}.skeleton-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.skeleton-media{height:180px;background:var(--surface-subtle)}.skeleton-content{padding:20px;display:grid;gap:14px}.skeleton{background:linear-gradient(90deg,var(--surface-subtle) 20%,var(--line) 50%,var(--surface-subtle) 80%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:5px;height:14px}.skeleton.long{width:88%}.skeleton.short{width:45%;height:22px}.skeleton.action{height:40px;margin-top:12px}.skeleton-row{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:20px;padding:24px;border-bottom:1px solid var(--line)}.loading-label{color:var(--muted);font-size:12px;line-height:18px;margin:12px 0}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.create-selected{border:1px solid var(--line);border-radius:8px;max-height:192px;overflow:auto}.create-selected:empty{display:none}.selected-row{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.selected-row:last-child{border-bottom:0}.selected-row img{width:56px;height:44px;object-fit:cover;border-radius:5px}.selected-row .selected-info{flex:1;min-width:0}.selected-row strong{font-size:13px;font-weight:600}.selected-row small{display:block;font-size:12px;line-height:18px;color:var(--muted);margin-top:2px}.selected-row .num{font-size:12px;white-space:nowrap;font-weight:600}.dialog{max-height:calc(100dvh - 40px)}.dialog-head{background:var(--surface)}.dialog-head p{margin-top:4px}.dialog-foot{background:var(--surface)}body:has(dialog[open]){overflow:hidden}.dialog-body{overflow-wrap:anywhere}.confirm-dialog{width:480px}.drawer{width:560px;max-width:100vw;max-height:100dvh;height:100dvh;margin:0 0 0 auto;border-radius:16px 0 0 16px;border-top:0;border-right:0;border-bottom:0;inset:0 0 0 auto;overflow:hidden;box-shadow:-16px 0 60px #19253424}.drawer[open]{animation:drawerIn .17s ease-out}.drawer-layout{display:grid;grid-template-rows:auto 1fr auto;height:100%;min-height:0}.drawer .dialog-body{overflow:auto;overscroll-behavior:contain}.drawer .dialog-foot{flex-wrap:nowrap}.drawer .dialog-foot .primary{flex:1}.drawer-media{height:216px;width:100%;object-fit:cover;border-radius:10px;margin-bottom:20px;background:var(--surface-subtle)}.drawer-media.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.drawer-media.placeholder .i{width:32px;height:32px}.drawer-media img{width:100%;height:100%;object-fit:cover}.drawer-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}.drawer-facts dt{font-size:12px;line-height:18px;color:var(--muted);margin-bottom:5px}.drawer-facts dd{margin:0;font-weight:600}.drawer-plan{width:100%;height:210px;object-fit:contain;margin-top:14px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:8px}.eyebrow{font-size:11px;line-height:18px;letter-spacing:.15px;color:var(--muted);margin:0 0 4px!important}.drawer h2{font-size:18px;line-height:26px}.key-legend{display:grid;grid-template-columns:max-content 1fr;gap:10px 14px;align-items:center;font-size:12px;color:var(--muted)}kbd{font:500 11px/18px var(--ui-font),Arial,sans-serif;border:1px solid var(--line-strong);border-radius:4px;padding:2px 6px;box-shadow:0 1px 0 var(--line);color:var(--text)}.guide-step{display:flex;gap:16px;margin-bottom:20px}.guide-step>b{display:grid;place-items:center;background:var(--soft);color:var(--soft-text);width:28px;height:28px;flex-shrink:0;border-radius:6px}.guide-step p{font-size:13px;line-height:21px;color:var(--text-secondary);margin-top:5px}.notice-host{position:fixed;right:24px;bottom:24px;z-index:100;max-width:calc(100vw - 32px);width:420px;display:grid;gap:10px;pointer-events:none}.notice{display:flex;gap:12px;align-items:flex-start;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 28px #19253420;pointer-events:auto;font-size:13px;line-height:20px;animation:noticeIn .15s ease-out}.notice>.i{color:var(--success);margin-top:1px}.notice.error>.i{color:var(--danger)}.notice.info>.i{color:var(--info)}.notice-content{flex:1;min-width:0}.notice-content p{margin-top:6px}.notice-action{color:var(--accent);font-weight:700;padding:4px 0;margin-top:4px}.notice-close{display:grid;place-items:center;padding:2px;color:var(--muted);min-width:24px;min-height:24px}.notice-close .i{width:16px;height:16px}.notice-host:empty{display:none}#reviewFallback{white-space:pre-wrap;word-break:break-word;background:var(--surface-subtle);border-radius:8px;padding:12px;font:400 12px/20px var(--ui-font),Arial;margin-top:16px}.hide-sqm .sqm,.hide-sqm .sqm-data{display:none}@keyframes drawerIn{from{transform:translateX(24px);opacity:.6}to{transform:translateX(0);opacity:1}}@keyframes noticeIn{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
@container(max-width:1100px){.component-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.component-card-grid>*:last-child{grid-column:1 / -1}.component-grid{grid-template-columns:1fr 1fr}.specimen-head{align-items:flex-start;flex-wrap:wrap}.specimen-head>span{font-size:11px}.component-tabs{gap:20px}}
@container(max-width:790px){.component-grid{grid-template-columns:1fr}.component-card-grid{grid-template-columns:1fr}.component-card-grid>*:last-child{grid-column:auto}.component-card-grid .property-card,.component-card-grid .entity-preview{max-width:480px;width:100%;margin:0 auto}.component-tabs{gap:18px}.state-tester{align-items:flex-start;flex-wrap:wrap}.specimen-head{gap:6px}.component-tabs button{font-size:12px}.pagehead .badge{margin-top:12px}.component-pane .specimen{padding:20px}}
@media(max-width:1030px){.foundation-lock{font-size:11px}.lab-controls{flex-wrap:nowrap}.lab-actions{width:auto}.lab-screen-tabs button{padding:6px 12px}.lab-bottom>span{font-size:10px}}
@media(max-width:800px){.lab-top{align-items:flex-start;flex-wrap:wrap;gap:6px}.foundation-lock{font-size:10px}.lab-controls{flex-wrap:wrap;gap:8px}.lab-screen-tabs{flex:1;min-width:250px}.lab-screen-tabs button{flex:1;font-size:11px;padding:6px 10px}.lab-actions{width:100%}.lab-actions .btn{min-height:36px}.lab-bottom>span{display:none}.btn.icon{min-width:44px;min-height:44px}.fav{min-width:44px;min-height:44px}.state-tester button{min-height:36px;font-size:10px;padding:6px 8px}.component-tabs button{min-height:44px}.check-row{min-height:44px;align-items:center}.check-row input{width:20px;height:20px;min-width:20px;margin-top:0}.field{min-height:44px}.select-trigger{height:44px}.selected-row{flex-wrap:wrap}.selected-row .num{margin-left:auto}.profile-popover{right:0}.table-action-row .btn.icon{width:44px}.notice-host{right:16px;bottom:16px;width:calc(100vw - 32px)}.notice-close{min-height:32px;min-width:32px}.removable-chip{min-height:40px}.removable-chip button{min-height:32px;min-width:28px}}
@media(max-width:600px){.drawer{width:100%;max-width:100vw;border:0;border-radius:0;height:100dvh;max-height:100dvh}.drawer .dialog-head{padding:16px}.drawer .dialog-body{padding:20px}.drawer .dialog-foot{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.drawer .dialog-foot .btn{font-size:13px}.foundation-lock{width:100%;font-size:10px}.lab-top{margin-bottom:8px}.component-tabs{margin-bottom:16px}.specimen-head>span{white-space:normal}.card-actions .btn.icon{flex-grow:0}.dialog-foot .btn{font-size:13px}.component-card-grid .card-actions .btn.icon{max-width:44px}.dialog:not(.drawer){max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.drawer-media{height:180px}.dialog-head h2{font-size:16px;line-height:24px}.table-scroll{overscroll-behavior-x:contain}.empty{padding:36px 20px}}
@media(prefers-reduced-motion:reduce){.skeleton,.spinner,.drawer[open],.notice{animation:none!important}.btn,.switch-row input,.switch-row input:after{transition:none!important}}

.skeleton-media.skeleton{height:var(--media);border-radius:0}
.clean-mode>.notice-host{bottom:80px}


/* REFINEMENT LAYER. Original two style blocks are unchanged.
   data-refinement=before disables ALL product overrides below.
   No new layout, gradients, photography, API calls or font bundles. */
html[data-refinement="after"] {
 --bg:#FAFAFA; --surface:#FFFFFF; --surface-subtle:#F6F6F6;
 --surface-hover:#F5F6F6; --surface-pressed:#EBEDEE;
 --text:#20262D; --text-secondary:#4B535E; --muted:#68717C; --placeholder:#727B85;
 --line:#E7E9EB; --line-strong:#C4C9CE; --field-line:#CDD2D7;
 --disabled-bg:#F1F2F3; --disabled-text:#777F88;
 /* Accent, semantic status colors, type scale, radius and density are inherited. */
}
/* A less outlined action layer. Border space remains, so control boxes do not move. */
html[data-refinement="after"] :is(.app,.dialog) .btn {
 font-size:13px; font-weight:500; letter-spacing:0;
 background:#F1F3F3; border-color:transparent; color:var(--text-secondary);
 box-shadow:none;
}
html[data-refinement="after"] :is(.app,.dialog) .btn.sm {font-size:12px}
html[data-refinement="after"] :is(.app,.dialog) .btn:hover {
 background:#E7EBEB; border-color:transparent; color:var(--text);
}
html[data-refinement="after"] :is(.app,.dialog) .btn:active {background:#DFE4E4}
html[data-refinement="after"] :is(.app,.dialog) .btn.primary {
 background:var(--accent); border-color:transparent; color:var(--on-accent);
}
html[data-refinement="after"] :is(.app,.dialog) .btn.primary:hover {background:var(--accent-hover)}
html[data-refinement="after"] :is(.app,.dialog) .btn.primary:active {background:var(--accent-active)}
html[data-refinement="after"] :is(.app,.dialog) .btn.ghost,
html[data-refinement="after"] :is(.app,.dialog) .btn.icon {
 background:transparent; border-color:transparent; color:var(--muted);
}
html[data-refinement="after"] :is(.app,.dialog) .btn.ghost:hover,
html[data-refinement="after"] :is(.app,.dialog) .btn.icon:hover {
 background:var(--surface-hover); color:var(--text);
}
html[data-refinement="after"] .card-actions .btn[data-add],
html[data-refinement="after"] :is(.app,.dialog) .btn.chosen {
 background:var(--soft); border-color:transparent; color:var(--soft-text);
}
html[data-refinement="after"] .card-actions .btn[data-add]:hover,
html[data-refinement="after"] :is(.app,.dialog) .btn.chosen:hover {background:#DEEEE9}
html[data-refinement="after"] :is(.app,.dialog) .btn.danger-outline {
 background:transparent; border-color:transparent; color:var(--danger);
}
html[data-refinement="after"] :is(.app,.dialog) .btn.icon.danger-outline {color:var(--muted)}
html[data-refinement="after"] :is(.app,.dialog) .btn.danger-outline:hover {background:var(--danger-bg);color:var(--danger)}
html[data-refinement="after"] :is(.app,.dialog) .btn.danger {background:var(--danger);border-color:transparent;color:#FFF}
html[data-refinement="after"] :is(.app,.dialog) .btn.danger:hover {background:#972237}
html[data-refinement="after"] :is(.app,.dialog) .btn.danger:active {background:#7E1C2E}
html[data-refinement="after"] :is(.app,.dialog) .btn.favorite-btn[aria-pressed="true"] {color:var(--danger);background:var(--danger-bg);border-color:transparent}
html[data-refinement="after"] :is(.app,.dialog) .btn:disabled,
html[data-refinement="after"] :is(.app,.dialog) .btn:disabled:hover {
 background:var(--disabled-bg); border-color:transparent; color:var(--disabled-text);box-shadow:none;
}
html[data-refinement="after"] .topbar .avatar {border-color:transparent}
/* Same card geometry and data. No colored border, no movement on hover. */
html[data-refinement="after"] .property-card,
html[data-refinement="after"] .entity-preview {border-color:var(--line);box-shadow:none}
html[data-refinement="after"] .property-card:hover,
html[data-refinement="after"] .entity-preview:hover {border-color:var(--line);box-shadow:0 2px 8px #20262D08}
html[data-refinement="after"] .card-actions {border-top-color:transparent}
html[data-refinement="after"] .fav {border-color:transparent}
html[data-refinement="after"] .fav:hover,
html[data-refinement="after"] .fav[aria-pressed="true"] {border-color:transparent}
html[data-refinement="after"] .segmented {border-color:transparent;background:#F0F2F2}
html[data-refinement="after"] .segmented button[aria-pressed="true"] {background:var(--surface);color:var(--accent)}
/* A distinct table surface, with structural row boundaries retained. */
html[data-refinement="after"] th {background:#F1F2F3;color:var(--text-secondary);border-bottom-color:#DFE3E6}
html[data-refinement="after"] td {border-bottom-color:#ECEEEF}
html[data-refinement="after"] .table-scroll {background:var(--surface)}
html[data-refinement="after"] tbody tr:hover {background:#FAFBFB}
/* Single contiguous inset focus outline, not a border + separated halo. */
html[data-refinement="after"] .field:focus,
html[data-refinement="after"] .field:focus-visible,
html[data-refinement="after"] .range:focus-within {
 outline:2px solid var(--accent); outline-offset:-2px; border-color:transparent; box-shadow:none;
}
html[data-refinement="after"] .range input:focus,
html[data-refinement="after"] .range input:focus-visible {outline:0;box-shadow:none}
html[data-refinement="after"] .field[aria-invalid="true"],
html[data-refinement="after"] .range:has([aria-invalid="true"]) {background:var(--surface);border-color:var(--danger)}
html[data-refinement="after"] .field[aria-invalid="true"]:is(:focus,:focus-visible),
html[data-refinement="after"] .range:has([aria-invalid="true"]):focus-within {outline-color:var(--danger);border-color:transparent}
html[data-refinement="after"] select.field {
 -webkit-appearance:none; appearance:none; padding-right:40px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2368717C' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;
}
html[data-refinement="after"] .select-trigger {padding-right:14px}
html[data-refinement="after"] .removable-chip {border-color:transparent}
html[data-refinement="after"] .removable-chip button:hover {background:#D7E9E3;border-radius:4px}
/* Same dialogs and content. Only their visual chrome is reduced. */
html[data-refinement="after"] .dialog {border-color:transparent;border-radius:12px;box-shadow:0 16px 56px #18222D29}
html[data-refinement="after"] .dialog::backdrop {background:#161D284D}
html[data-refinement="after"] .dialog-head,
html[data-refinement="after"] .dialog-foot {border-color:transparent}
html[data-refinement="after"] .drawer {border-radius:0;border-left-color:var(--line);box-shadow:-8px 0 32px #18222D1A;right:calc(100% - 100vw)}
html[data-refinement="after"] .drawer-facts {border-block-color:transparent}
html[data-refinement="after"] .drawer-plan {border-color:transparent;background:#FAFAFA}
html[data-refinement="after"] .create-selected {border-color:transparent}
/* Only nested scrolling surfaces are restyled. The document scrollbar is untouched. */
html[data-refinement="after"] :is(.table-scroll,.multi-options,.create-selected,.component-tabs,.dialog:not(.drawer),.drawer .dialog-body,.sidebar) {
 scrollbar-width:thin; scrollbar-color:#C1C7CB transparent;
}
html[data-refinement="after"] :is(.multi-options,.create-selected,.dialog:not(.drawer),.drawer .dialog-body) {overscroll-behavior:contain}
html[data-refinement="after"] :is(.multi-options,.create-selected,.drawer .dialog-body) {scrollbar-gutter:stable}
html[data-refinement="after"] :is(.table-scroll,.multi-options,.create-selected,.component-tabs,.dialog:not(.drawer),.drawer .dialog-body,.sidebar)::-webkit-scrollbar {width:8px;height:8px}
html[data-refinement="after"] :is(.table-scroll,.multi-options,.create-selected,.component-tabs,.dialog:not(.drawer),.drawer .dialog-body,.sidebar)::-webkit-scrollbar-track {background:transparent}
html[data-refinement="after"] :is(.table-scroll,.multi-options,.create-selected,.component-tabs,.dialog:not(.drawer),.drawer .dialog-body,.sidebar)::-webkit-scrollbar-thumb {background:#C1C7CB;border:2px solid transparent;background-clip:padding-box;border-radius:6px}
/* Real action notifications, not a new block of permanent demo cards. */
html[data-refinement="after"] .notice {background:#28333D;color:#FFF;border-color:transparent;box-shadow:0 6px 24px #17232A26}
html[data-refinement="after"] .notice.success {background:var(--accent)}
html[data-refinement="after"] .notice.error {background:var(--danger)}
html[data-refinement="after"] .notice>.i {color:#FFF}
html[data-refinement="after"] .notice-action {color:#FFF;font-weight:500;text-decoration:underline;text-underline-offset:3px}
html[data-refinement="after"] .notice-close {color:#FFF;border-radius:5px}
html[data-refinement="after"] .notice-close:hover {background:#FFFFFF1C}
/* Laboratory controls, identical in both modes. Not product components. */
.lab-controls {flex-wrap:wrap}
.lab-actions {flex-wrap:wrap}
.refinement-switch {display:inline-flex;align-items:center;gap:2px;padding:3px;background:#F1F3F4;border-radius:7px;min-height:40px;flex-shrink:0}
.refinement-switch button {min-height:32px;padding:6px 13px;border-radius:5px;font:500 12px/20px var(--ui-font),Arial,sans-serif;color:#4F5B68}
.refinement-switch button[aria-pressed="true"] {background:#24303F;color:white}
.refinement-switch button:not([aria-pressed="true"]):hover {background:#E6EAEC}
.refinement-guide-intro {font-size:13px;line-height:21px;color:var(--text-secondary)}
.refinement-change-list {margin:20px 0;display:grid;gap:16px}
.refinement-change-list dt {font-size:13px;font-weight:600;margin-bottom:4px}
.refinement-change-list dd {margin:0;font-size:12px;line-height:20px;color:var(--text-secondary)}
.refinement-guide-footer,.refinement-guide-shortcuts {font-size:12px;line-height:20px;color:var(--muted);margin-top:16px}
.refinement-guide-shortcuts b {color:var(--text-secondary);font-weight:600}
.refinement-guide-shortcuts span {margin:0 8px}
@media(max-width:800px){
 .lab-actions{width:100%;gap:6px;flex-wrap:wrap}
 .refinement-switch{min-height:36px}
 .refinement-switch button{min-height:30px;padding:5px 10px;font-size:11px}
 .lab-actions>.btn{flex:1;white-space:nowrap}
 .lab-bottom #refinementStatus{display:inline}
}
@media(max-width:600px){html[data-refinement="after"] .drawer{border-radius:0;width:100vw}}
@media(forced-colors:active){
 html[data-refinement="after"] .field:focus,html[data-refinement="after"] .range:focus-within{outline:2px solid Highlight}
 html[data-refinement="after"] :is(.app,.dialog) .btn{border-color:ButtonText}
 html[data-refinement="after"] select.field{appearance:auto;background-image:none}
}

/* Candidate B. Source: Plancore north_star v0.7.1 for surfaces and type roles.
   Product data, navigation, controls, list structure and behavior are retained.
   This layer is isolated; A is the preceding successful refinement, not the original UI. */
.card-value-group,.card-unit-group,.card-location-group{display:contents}
html[data-refinement="after"][data-northstar="b"]{
 --bg:#F3F6F8;--surface:#FFFFFF;--surface-subtle:#F7F9FB;--surface-hover:#F0F5F7;--surface-pressed:#E8EFF3;
 --text:#102131;--text-secondary:#4F6577;--muted:#63798A;--placeholder:#718597;
 --line:#DBE3E9;--line-strong:#B8C8D4;--field-line:#D4DEE5;
 --accent:#0F766E;--accent-hover:#0B625C;--accent-active:#09544F;
 --soft:#EAF6F3;--soft-text:#0C655E;--soft-line:#BFDCD6;
 --ns-ink:#102B32;--ns-card-shadow:0 1px 2px rgba(7,20,33,.04),0 7px 22px rgba(7,20,33,.045);
 --ns-float-shadow:0 18px 50px rgba(7,20,33,.16),0 3px 10px rgba(7,20,33,.08);
 --disabled-bg:#EFF3F5;--disabled-text:#778797;
}
html[data-northstar="b"] :is(.app,.dialog){font-size:14px;line-height:21px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[data-northstar="b"] .num{font-variant-numeric:tabular-nums lining-nums}
html[data-northstar="b"] .app h1{font-size:32px;line-height:38px;font-weight:700;letter-spacing:-.025em}
html[data-northstar="b"] .pagehead{align-items:center}
html[data-northstar="b"] .pagehead p{font-size:13px;line-height:20px;margin-top:6px;color:var(--text-secondary)}
html[data-northstar="b"] :is(.app,.dialog) h2{font-size:18px;line-height:25px;font-weight:700;letter-spacing:-.012em}
html[data-northstar="b"] :is(.caption,.app .helper){font-size:12px;line-height:18px}
html[data-northstar="b"] .panel{border-color:var(--line);box-shadow:var(--ns-card-shadow)}
/* White application shell: the one active route provides contrast. */
html[data-northstar="b"] .sidebar{background:#FFF;border-right-color:var(--line);box-shadow:none}
html[data-northstar="b"] .nav button{font-size:13px;line-height:20px;font-weight:500;color:var(--text-secondary);border-radius:9px;transition:background-color 140ms,color 140ms}
html[data-northstar="b"] .nav button .i{color:#7B8E9C;stroke-width:1.65}
html[data-northstar="b"] .nav button[aria-current="page"]{background:var(--ns-ink);color:#FFF;font-weight:600;box-shadow:none}
html[data-northstar="b"] .nav button[aria-current="page"] .i{color:#99D3C9}
html[data-northstar="b"] .nav button[aria-disabled="true"]{color:var(--muted)}
html[data-northstar="b"] .nav-note{color:#6D7F8E;line-height:18px}
html[data-northstar="b"] .sidebar-footer{color:#6D7F8E}
html[data-northstar="b"] .topbar{background:#FFF;border-color:var(--line)}
html[data-northstar="b"] .topbar-search input{background:var(--surface-subtle);border-color:var(--line);font-size:13px;border-radius:9px}
html[data-northstar="b"] .topbar .avatar{border-radius:10px;background:var(--ns-ink);color:#FFF;border:0}
html[data-northstar="b"] .workspace b{font-size:13px;line-height:18px}
/* Controls: 40 px and compact labels. Secondary surfaces are white, not grey pills. */
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn{
 font-size:13px;font-weight:500;line-height:20px;border-radius:9px;background:#FFF;border-color:var(--line);color:var(--text-secondary);box-shadow:none;
 transition:background-color 140ms,border-color 140ms,color 140ms,box-shadow 140ms;transform:none;
}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn:hover{background:var(--surface-subtle);border-color:var(--line-strong);color:var(--text)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn:active{background:var(--surface-pressed)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.primary{background:var(--accent);border-color:var(--accent);color:#FFF;font-weight:600;box-shadow:0 3px 8px rgba(15,118,110,.12)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#FFF;box-shadow:0 4px 12px rgba(15,118,110,.17)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.primary:active{background:var(--accent-active);border-color:var(--accent-active);box-shadow:none}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn:is(.ghost,.icon){background:transparent;border-color:transparent;color:var(--muted);box-shadow:none}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn:is(.ghost,.icon):hover{background:#ECF2F5;border-color:transparent;color:var(--text)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.chosen{background:var(--soft);border-color:transparent;color:var(--soft-text)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.danger-outline{background:transparent;border-color:transparent;color:var(--danger)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.icon.danger-outline{color:var(--muted)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.danger-outline:hover{background:var(--danger-bg);color:var(--danger)}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.danger{background:var(--danger);border-color:var(--danger);color:#FFF}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.danger:hover{background:#972237;border-color:#972237;color:#FFF}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn.favorite-btn[aria-pressed="true"]{background:var(--danger-bg);color:var(--danger);border-color:transparent}
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn:disabled,
html[data-refinement="after"][data-northstar="b"] :is(.app,.dialog) .btn:disabled:hover{background:var(--disabled-bg);color:var(--disabled-text);border-color:transparent;box-shadow:none}
html[data-northstar="b"] .btn .i{width:16px;height:16px}
html[data-northstar="b"] #selectedCount{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 5px;border-radius:5px;color:white;background:#FFFFFF26;font-size:12px}
/* Forms: one contiguous focus indicator, no separated halo. */
html[data-northstar="b"] .filter-top h2{font-size:14px;line-height:21px;font-weight:600}
html[data-northstar="b"] .filter-top h2 .i{color:var(--muted);width:16px;height:16px}
html[data-northstar="b"] .field,html[data-northstar="b"] .range{font-size:13px;line-height:20px;border-radius:9px;border-color:var(--field-line);background:#FFF;box-shadow:none}
html[data-northstar="b"] .range input{font-size:13px}
html[data-northstar="b"] .field:hover,html[data-northstar="b"] .range:hover{border-color:var(--line-strong)}
html[data-northstar="b"] .form-label{color:var(--text-secondary);font-size:12px;font-weight:500;line-height:18px}
html[data-northstar="b"] .field:focus,html[data-northstar="b"] .field:focus-visible,html[data-northstar="b"] .range:focus-within{border-color:transparent;outline:2px solid var(--accent);outline-offset:-2px;box-shadow:none;background-color:#FFF}
html[data-northstar="b"] .range input:is(:focus,:focus-visible){outline:0;box-shadow:none}
html[data-northstar="b"] .field[aria-invalid="true"]:is(:focus,:focus-visible){outline-color:var(--danger)}
html[data-northstar="b"] .field[aria-invalid="true"]{background:#FFF;border-color:var(--danger)}
html[data-northstar="b"] .range:has([aria-invalid="true"]):focus-within{outline-color:var(--danger)}
html[data-northstar="b"] .field:disabled{background:var(--disabled-bg);color:var(--disabled-text)}
html[data-northstar="b"] .field[readonly]{background:var(--surface-subtle)}
html[data-northstar="b"] select.field{background-position:right 13px center;background-size:16px;padding-right:38px}
html[data-northstar="b"] .range input+input{border-left-color:#E5EBEF}
/* Three meaningful groups inside the existing vertical card. */
html[data-refinement="after"][data-northstar="b"] :is(.property-card,.entity-preview){border:1px solid var(--line);border-radius:12px;box-shadow:var(--ns-card-shadow);background:#FFF;transition:box-shadow 160ms;transform:none}
html[data-refinement="after"][data-northstar="b"] :is(.property-card,.entity-preview):hover{border-color:var(--line);box-shadow:0 2px 4px rgba(7,20,33,.045),0 10px 28px rgba(7,20,33,.075);transform:none}
html[data-northstar="b"] .card-media{background:#F7F9FB;border:0}
html[data-northstar="b"] .card-media>img{object-position:center}
html[data-northstar="b"] .card-media>.badge{background:#FFFFFFF5;border:1px solid #FFFFFFCC;box-shadow:0 1px 4px #1021310A;color:var(--text-secondary);border-radius:6px;font-size:11px;line-height:16px;min-height:24px;padding:3px 8px;font-weight:500}
html[data-northstar="b"] .fav{background:#FFFFFFF5;border:1px solid #FFFFFFCC;border-radius:50%;box-shadow:0 1px 6px #10213112;color:#627584}
html[data-northstar="b"] .fav[aria-pressed="true"]{background:white;color:var(--danger);border-color:transparent}
html[data-northstar="b"] .fav:hover{background:#FFF;color:var(--danger)}
html[data-northstar="b"] .fav .i{width:16px;height:16px}
html[data-northstar="b"] :is(.card-value-group,.card-unit-group,.card-location-group){display:block;min-width:0}
html[data-northstar="b"] .card-content{gap:0}
html[data-northstar="b"] .card-price{font-size:22px;line-height:30px;letter-spacing:-.025em;font-weight:700;color:var(--text)}
html[data-northstar="b"] .sqm{font-size:12px;line-height:16px;margin-top:2px;color:var(--muted)}
html[data-northstar="b"] .card-unit-group{margin-top:16px}
html[data-northstar="b"] .card-title{font-size:16px;line-height:24px;letter-spacing:-.012em;font-weight:600;margin:0}
html[data-northstar="b"] .card-title .link-button{font-weight:600;color:var(--text)}
html[data-northstar="b"] .card-title .link-button:hover{color:var(--accent)}
html[data-northstar="b"] .facts{margin-top:4px;font-size:13px;line-height:18px;gap:6px 12px;color:var(--text-secondary)}
html[data-northstar="b"] .facts>span+span{padding-left:12px;border-left:1px solid var(--line)}
html[data-northstar="b"] .card-location-group{margin-top:16px}
html[data-northstar="b"] .building-name{font-size:14px;line-height:21px;font-weight:600;margin:0;color:var(--text)}
html[data-northstar="b"] .address{font-size:12px;line-height:18px;height:36px;margin:4px 0 0;-webkit-line-clamp:2;color:var(--muted)}
html[data-northstar="b"] .card-actions{border-top:0;padding-top:16px;gap:10px;margin-top:auto;align-items:center;justify-content:space-between}
html[data-refinement="after"][data-northstar="b"] .card-actions .btn[data-add]{background:transparent;border-color:transparent;color:var(--accent);font-weight:600;flex:0 1 auto;justify-content:flex-start;padding-left:0;padding-right:12px;box-shadow:none}
html[data-refinement="after"][data-northstar="b"] .card-actions .btn[data-add]:hover{background:var(--soft);border-color:transparent;color:var(--accent-hover)}
html[data-refinement="after"][data-northstar="b"] .card-actions .btn[data-add].chosen{background:var(--soft);color:var(--soft-text);padding-left:10px;padding-right:12px;font-weight:500}
html[data-northstar="b"] .entity-body h3{font-size:16px;line-height:24px;color:var(--text)}
html[data-northstar="b"] .entity-brand{background:var(--surface-subtle);color:var(--text-secondary)}
/* Toolkit above the list. */
html[data-northstar="b"] .toolbar-left strong{font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.01em}
html[data-northstar="b"] .toolbar{min-height:40px}
html[data-northstar="b"] .segmented{background:#E8EEF2;border:1px solid transparent;border-radius:9px;padding:3px;gap:2px}
html[data-northstar="b"] .segmented button{border-radius:6px;color:var(--muted);height:32px;min-height:32px}
html[data-northstar="b"] .segmented button[aria-pressed="true"]{background:#FFF;color:var(--accent);box-shadow:0 1px 3px #10213112}
html[data-northstar="b"] .page-current{background:var(--ns-ink);color:#FFF}
/* Collection: same summary and groups, differentiated by role rather than five colored tiles. */
html[data-northstar="b"] .collection-summary{gap:20px 0;display:grid;grid-template-columns:1.1fr 1.05fr .9fr 1.35fr .85fr;align-items:start;background:#FFF}
html[data-northstar="b"] .summary-item{min-width:0;padding:0 20px;border-left:1px solid var(--line);gap:8px}
html[data-northstar="b"] .summary-item:first-child{padding-left:0;border:0}
html[data-northstar="b"] .summary-item:last-child{padding-right:0}
html[data-northstar="b"] .summary-item span{font-size:12px;line-height:16px;color:var(--muted)}
html[data-northstar="b"] .summary-item strong{font-size:16px;line-height:24px;font-weight:600;color:var(--text)}
html[data-northstar="b"] .summary-item:nth-child(2) strong{font-size:13px;line-height:24px;font-weight:500}
html[data-northstar="b"] .summary-item:nth-child(4) strong{font-size:20px;line-height:26px;font-weight:700;letter-spacing:-.02em}
html[data-northstar="b"] .collection-note{background:#EDF3F6;border-color:transparent;box-shadow:none;padding:16px 20px}
html[data-northstar="b"] .collection-note .caption{color:var(--text-secondary)}
html[data-northstar="b"] .collection-note p:not(.caption){font-size:14px;line-height:21px}
html[data-northstar="b"] .section-head h2{font-size:18px;line-height:25px;font-weight:600;letter-spacing:-.012em}
html[data-northstar="b"] .group-toggle:hover{background:#FCFDFE}
html[data-northstar="b"] .badge{font-size:11px;line-height:16px;min-height:22px;padding:3px 8px;border-radius:6px;font-weight:500}
html[data-northstar="b"] .collection-group .badge{background:#EDF2F5;color:#4F6577}
/* Quiet table layers; no all-caps labels and no permanently boxed row actions. */
html[data-refinement="after"][data-northstar="b"] .table-scroll{background:#FFF;border-radius:12px}
html[data-northstar="b"] .collection-group .table-scroll{border-top-left-radius:0;border-top-right-radius:0}
html[data-refinement="after"][data-northstar="b"] th{background:#F7F9FB;color:#53697A;border-top:1px solid #E6ECF0;border-bottom:1px solid var(--line);font-size:12px;line-height:16px;font-weight:600;padding:12px 20px;text-transform:none;letter-spacing:0}
html[data-refinement="after"][data-northstar="b"] td{background:transparent;border-bottom:1px solid #E7EDF1;font-size:13px;line-height:18px;padding:14px 20px}
html[data-refinement="after"][data-northstar="b"] tbody tr:hover{background:#F3F8FA}
html[data-northstar="b"] .table-object .link-button{font-size:13px;line-height:18px;color:var(--text);font-weight:600}
html[data-northstar="b"] .table-object .link-button:hover{color:var(--accent)}
html[data-northstar="b"] .table-object small{font-size:12px;line-height:16px;margin-top:4px}
html[data-northstar="b"] .table-price{font-size:14px;line-height:20px;font-weight:600;color:var(--text)}
html[data-northstar="b"] .table-price small{font-size:12px;line-height:16px;color:var(--muted)}
html[data-refinement="after"][data-northstar="b"] .table-action-row .btn[data-add]:not(.chosen){background:transparent;border-color:transparent;color:var(--accent)}
html[data-refinement="after"][data-northstar="b"] .table-action-row .btn[data-add]:hover{background:var(--soft);border-color:transparent;color:var(--accent-hover)}
/* Dialog content is white. Header/footer don't acquire decorative lines. */
html[data-refinement="after"][data-northstar="b"] .dialog{border:1px solid #FFFFFF88;border-radius:15px;box-shadow:var(--ns-float-shadow)}
html[data-refinement="after"][data-northstar="b"] .dialog::backdrop{background:rgba(7,20,33,.36);backdrop-filter:blur(2px)}
html[data-northstar="b"] .dialog:not(.drawer) .dialog-head{padding:24px 24px 16px;border:0;align-items:flex-start}
html[data-northstar="b"] .dialog:not(.drawer) .dialog-body{padding:4px 24px 24px}
html[data-northstar="b"] .dialog:not(.drawer) .dialog-foot{border:0;padding:0 24px 24px;background:#FFF}
html[data-northstar="b"] .dialog .dialog-head h2{font-size:20px;line-height:28px;font-weight:700;letter-spacing:-.015em}
html[data-northstar="b"] .dialog .dialog-head p{font-size:12px;line-height:18px;margin-top:5px}
html[data-northstar="b"] .dialog-head>.btn.icon{margin-top:-4px;margin-right:-8px}
html[data-refinement="after"][data-northstar="b"] .drawer{border-radius:0;border:0;box-shadow:-16px 0 48px rgba(7,20,33,.13);max-width:100vw;right:calc(100% - 100vw)}
html[data-northstar="b"] .drawer .dialog-head{padding:24px 24px 16px;align-items:flex-start}
html[data-northstar="b"] .drawer .dialog-body{padding:8px 24px 24px}
html[data-northstar="b"] .drawer .dialog-foot{padding:16px 24px;background:#FFF;border:0;box-shadow:0 -6px 20px rgba(7,20,33,.035)}
html[data-northstar="b"] .drawer .eyebrow{font-size:11px;line-height:16px;letter-spacing:.04em;color:var(--muted)}
html[data-northstar="b"] .drawer-facts{border:0;border-radius:10px;background:var(--surface-subtle);padding:16px;margin:20px 0}
html[data-northstar="b"] .drawer-facts dt{font-size:12px;line-height:16px;color:var(--muted)}
html[data-northstar="b"] .drawer-facts dd{font-size:14px;line-height:21px;font-weight:600;color:var(--text)}
html[data-northstar="b"] .drawer-plan{background:#FFF;border:1px solid var(--line);border-radius:9px}
html[data-northstar="b"] .create-selected{border:0;border-radius:9px;background:var(--surface-subtle)}
html[data-northstar="b"] .selected-row{border-bottom-color:#E5EBEF}
html[data-northstar="b"] .selected-row:last-child{border-bottom:0}
html[data-northstar="b"] .multi-panel,html[data-northstar="b"] .profile-popover{box-shadow:var(--ns-float-shadow);border:1px solid var(--line);border-radius:12px}
html[data-northstar="b"] .multi-options .check-row{font-size:13px;line-height:20px}
html[data-northstar="b"] .multi-options .check-row:has(input:checked){background:var(--soft);color:var(--soft-text)}
/* Notifications use the reference's inverse surface with a semantic, not decorative, marker. */
html[data-refinement="after"][data-northstar="b"] .notice{background:#102B32;color:#FFF;border:0;box-shadow:var(--ns-float-shadow);border-radius:11px;padding:16px;line-height:20px}
html[data-refinement="after"][data-northstar="b"] .notice>.i{color:#C1D6DD}
html[data-refinement="after"][data-northstar="b"] .notice.success>.i{color:#71D9AB}
html[data-refinement="after"][data-northstar="b"] .notice.error{background:#3C252B}
html[data-refinement="after"][data-northstar="b"] .notice.error>.i{color:#FF9BAB}
html[data-northstar="b"] .notice-action{color:#B0E9DD;font-weight:600;text-decoration:none}
html[data-northstar="b"] .notice-action:hover{text-decoration:underline;text-underline-offset:3px}
html[data-northstar="b"] .notice-close{color:#C2D4DB}
html[data-northstar="b"] :is(.table-scroll,.multi-options,.create-selected,.component-tabs,.dialog:not(.drawer),.drawer .dialog-body,.sidebar){scrollbar-width:thin;scrollbar-color:#B9C8D2 transparent}
html[data-northstar="b"] .component-tabs button{font-size:13px;font-weight:500}
html[data-northstar="b"] .component-tabs button[aria-selected="true"]{font-weight:600}
html[data-northstar="b"] .specimen-head h2{font-size:18px;line-height:25px}
html[data-northstar="b"] .specimen-note{font-size:13px;line-height:20px}
/* Laboratory chrome is deliberately the same in A/B and is not a product component. */
.lab-title{font-weight:600}.lab-controls{flex-wrap:wrap}.lab-actions{flex-wrap:wrap}
.northstar-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;background:#EEF2F5;border-radius:8px;flex-shrink:0}
.northstar-switch button{min-height:32px;padding:6px 12px;border-radius:6px;color:#526575;font:500 12px/20px var(--ui-font),Arial;white-space:nowrap}
.northstar-switch button[aria-pressed="true"]{background:#192E3B;color:#FFF}
.northstar-switch button:not([aria-pressed="true"]):hover{background:#E0E8ED}
.comparison-dock{display:none;align-items:center;gap:6px;background:white;border:1px solid #D9E2E8;border-radius:11px;padding:5px;box-shadow:0 4px 20px #1021311A;position:fixed;bottom:16px;right:20px;z-index:60}
.clean-mode .comparison-dock{display:flex}
.comparison-dock .restore-lab{position:static;min-height:34px;padding:6px 10px;background:white;color:#526575;border-radius:6px;font-size:12px;box-shadow:none}
.comparison-dock .restore-lab:hover{background:#EEF2F5}
.ns-source-note{font-size:12px;line-height:19px;background:#F0F5F7;padding:14px 16px;border-radius:9px;color:#4F6577}
.ns-source-note strong{display:block;margin-bottom:4px;color:#102131}
.refinement-guide{width:620px}
@container(max-width:1080px){
 html[data-northstar="b"] .collection-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 0}
 html[data-northstar="b"] .summary-item:nth-child(4){border:0;padding-left:0;grid-column:1/3}
 html[data-northstar="b"] .summary-item:nth-child(5){padding-left:20px}
}
@container(max-width:700px){
 html[data-northstar="b"] .collection-summary{grid-template-columns:1fr 1fr;gap:18px 0}
 html[data-northstar="b"] .summary-item{padding:0 16px}
 html[data-northstar="b"] .summary-item:nth-child(odd){padding-left:0;border:0}
 html[data-northstar="b"] .summary-item:nth-child(4){grid-column:auto;border-left:1px solid var(--line);padding-left:16px}
 html[data-northstar="b"] .summary-item:nth-child(4) strong{font-size:18px;line-height:24px}
 html[data-northstar="b"] .facts{font-size:13px}
 html[data-northstar="b"] .section-head h2{font-size:18px;line-height:25px}
}
@media(max-width:800px){
 .northstar-switch{min-height:40px}.northstar-switch button{min-height:34px;font-size:11px;padding:6px 9px}
 .comparison-dock{right:12px;bottom:12px;max-width:calc(100vw - 24px)}
 .comparison-dock .northstar-switch{min-height:44px}.comparison-dock .northstar-switch button{min-height:38px}
 .comparison-dock .restore-lab{min-height:44px}.comparison-dock .restore-lab .i{display:none}
 html[data-northstar="b"] .btn{min-height:44px}
 html[data-northstar="b"] .segmented button{height:38px;min-height:38px}
 html[data-northstar="b"] .pagehead .head-actions .btn{font-size:13px}
 html[data-northstar="b"] .fav{min-height:44px;min-width:44px}
 html[data-northstar="b"] .nav button{min-height:44px}
 html[data-northstar="b"] .dialog:not(.drawer) .dialog-head{padding:20px 20px 16px}
 html[data-northstar="b"] .dialog:not(.drawer) .dialog-body{padding:0 20px 20px}
 html[data-northstar="b"] .dialog:not(.drawer) .dialog-foot{padding:0 20px 20px}
}
@media(max-width:420px){
 .lab-title{font-size:12px}.lab-title>span:last-child{font-size:12px}
 .northstar-switch button{padding:6px 8px}.comparison-dock{gap:2px;padding:4px}.comparison-dock .restore-lab{padding:6px 8px;font-size:11px}
 html[data-northstar="b"] .summary-item:nth-child(4) strong{font-size:16px;line-height:24px}
}
@media(prefers-reduced-motion:reduce){html[data-northstar="b"] *{transition:none!important}}
@media(forced-colors:active){
 html[data-northstar="b"] :is(.btn,.field,.range,.nav button[aria-current="page"]){border:1px solid ButtonText}
}

/* Page coverage layer. The candidate B tokens and existing product screens are retained.
   New components reuse the same text, controls, 20px inner spacing and 16px grid gap. */
.pages-lab-picker{display:flex;align-items:center;gap:10px;min-width:240px}
.pages-lab-picker label{font-size:12px;color:#526575;white-space:nowrap}
.pages-lab-picker select{font:500 13px/20px var(--ui-font),Arial;min-height:38px;border:1px solid #D9E2E8;border-radius:8px;background:white;padding:6px 32px 6px 10px;min-width:235px;max-width:100%}
.pages-dock{gap:4px}.pages-dock button{min-height:36px;display:flex;gap:6px;align-items:center;border-radius:7px;padding:6px 10px;font-size:12px;color:#526575}
.pages-dock button:hover{background:#EEF2F5}
html[data-northstar="b"] .ps-screen{font-size:14px;line-height:21px}
.ps-screen .pagehead{margin-bottom:24px}
.ps-screen .pagehead p{max-width:780px}
.ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.ps-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--ns-card-shadow);transition:box-shadow 160ms}
.ps-card:hover{box-shadow:0 2px 4px rgba(7,20,33,.045),0 10px 28px rgba(7,20,33,.075)}
.ps-card-photo{position:relative;height:210px;overflow:hidden;background:var(--surface-subtle);flex-shrink:0}
.ps-card-photo>button.ps-image-open{width:100%;height:100%;display:block;padding:0;text-align:left}
.ps-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ps-card-photo .fav{position:absolute;top:12px;right:12px;z-index:1}
.ps-card-photo .ps-count-label{position:absolute;left:12px;bottom:12px;background:rgba(16,33,49,.80);color:#fff;padding:4px 8px;border-radius:6px;font-size:11px;line-height:16px;pointer-events:none}
.ps-card-body{display:flex;flex-direction:column;gap:12px;padding:20px;flex:1;min-width:0}
.ps-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0}
.ps-card-heading h2,.ps-card-heading h3{min-width:0}
html[data-northstar="b"] .ps-card-heading h2{font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.012em}
.ps-title-link{text-align:left;padding:0;font:inherit;color:var(--text);line-height:inherit}
.ps-title-link:hover{color:var(--accent)}
.ps-card-heading .badge{flex-shrink:0;margin-top:1px}
.ps-meta{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:18px;color:var(--muted)}
.ps-meta .i{width:15px;height:15px;margin-top:2px;flex-shrink:0}
.ps-location-stack{display:grid;gap:5px;min-height:43px}
.ps-developer-link{padding:0;color:var(--text-secondary);font-size:12px;font-weight:500;text-align:left}
.ps-developer-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.ps-tagline{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}
.ps-card .ps-description{color:var(--text-secondary);font-size:13px;line-height:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ps-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:auto;padding-top:14px}
.ps-metrics>div{min-width:0;padding:0 10px;border-left:1px solid var(--line)}
.ps-metrics>div:first-child{padding-left:0;border-left:0}.ps-metrics>div:last-child{padding-right:0}
.ps-metrics strong{display:block;font-size:15px;line-height:22px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.ps-metrics small{display:block;font-size:11px;line-height:16px;color:var(--muted);margin-top:3px}
.ps-metrics .ps-price-wide{font-size:14px}
.ps-footer-actions{display:flex;align-items:center;gap:8px;margin-top:4px}
.ps-footer-actions .ps-link-action{color:var(--accent)!important;background:transparent!important;border-color:transparent!important;padding-left:0;padding-right:10px;font-weight:500!important}
.ps-footer-actions .ps-link-action:hover{background:var(--soft)!important;padding-left:10px;margin-left:-10px}
.ps-footer-actions .ps-icon-spacer{margin-left:auto}
.ps-filter-grid{display:grid;grid-template-columns:1fr .9fr 1.2fr 1fr;align-items:end;gap:12px}
.ps-filter-second{display:flex;align-items:flex-end;gap:12px;margin-top:14px;flex-wrap:wrap}
.ps-filter-second>label{max-width:320px;min-width:220px;flex:1}
.ps-filter-second .ps-tags-toggle{margin-left:auto}
.ps-filter-extra{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:18px}
.ps-grid.list{grid-template-columns:1fr}
.ps-grid.list .ps-card{display:grid;grid-template-columns:250px minmax(0,1fr)}
.ps-grid.list .ps-card-photo{height:100%;min-height:238px}
.ps-grid.list .ps-card-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:10px 24px}
.ps-grid.list .ps-card-heading,.ps-grid.list .ps-developer-link,.ps-grid.list .ps-location-stack,.ps-grid.list .ps-tagline{grid-column:1}
.ps-grid.list .ps-metrics{grid-column:2;grid-row:1/4;align-self:center;padding-top:0}
.ps-grid.list .ps-footer-actions{grid-column:2;grid-row:4/6;align-self:end;justify-content:flex-end}
.ps-note{font-size:12px;line-height:18px;color:var(--muted);margin-top:16px}
.ps-note a,.ps-note button{font-size:inherit;color:var(--accent)}
.ps-source-note{font-size:12px;line-height:18px;color:var(--muted);padding:12px 14px;background:var(--surface-subtle);border-radius:8px;margin-top:16px}
.ps-source-note .i{width:15px;height:15px}
.ps-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;font-size:12px;line-height:18px;color:var(--muted)}
.ps-page-number{display:grid;place-items:center;min-width:32px;height:32px;background:var(--ns-ink);color:#fff;border-radius:8px;font-weight:600}
.ps-list-search{position:relative;min-width:220px;flex:1;max-width:320px}
.ps-list-search>.i{position:absolute;left:12px;top:12px;width:16px;height:16px;color:var(--muted);pointer-events:none}
.ps-list-search input{padding-left:36px}
.ps-entity-head{display:grid;grid-template-columns:52px minmax(0,1fr) 32px;gap:12px;align-items:center}
.ps-entity-logo{width:52px;height:52px;display:grid;place-items:center;border-radius:10px;overflow:hidden;background:white}
.ps-entity-logo img{width:100%;height:100%;object-fit:contain}
.ps-entity-logo.text-mark{background:var(--surface-subtle);font-size:20px;color:var(--text-secondary)}
.ps-entity-head h2{font-size:15px!important;line-height:22px!important}
.ps-entity-head .ps-year{font-size:12px;line-height:18px;color:var(--muted);margin-top:3px}
.ps-entity-head .btn.icon{width:32px;min-height:32px;padding:6px;align-self:start}
.ps-card.developer-card .ps-card-body{gap:18px}
.ps-card.developer-card .ps-description{min-height:60px}
.ps-card.developer-card .ps-metrics{padding-top:0}
.ps-card.developer-card .ps-footer-actions{margin-top:0}
.ps-grid.list .developer-card{display:block}
.ps-grid.list .developer-card .ps-card-body{display:grid;grid-template-columns:1.4fr 1.8fr 1.3fr auto;align-items:center;gap:20px}
.ps-grid.list .developer-card .ps-description{min-height:0;-webkit-line-clamp:2}
.ps-grid.list .developer-card .ps-metrics,.ps-grid.list .developer-card .ps-footer-actions{grid-column:auto;grid-row:auto;margin:0}
.ps-tabbar{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow:auto;scrollbar-width:thin}
.ps-tabbar button{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:12px 0;min-height:46px;border-bottom:2px solid transparent;font-size:13px;line-height:20px;color:var(--text-secondary)}
.ps-tabbar button[aria-selected="true"]{color:var(--accent);border-color:var(--accent);font-weight:600}
.ps-tabbar .ps-tab-count{font-size:11px;line-height:18px;min-width:22px;text-align:center;padding:0 6px;border-radius:6px;background:var(--surface-subtle);color:var(--muted)}
.ps-tabbar button[aria-selected="true"] .ps-tab-count{background:var(--soft);color:var(--accent)}
.ps-collage{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr;gap:4px;margin:10px 10px 0;height:168px;border-radius:7px;overflow:hidden;background:var(--surface-subtle)}
.ps-collage img{height:100%;width:100%;object-fit:cover}
.ps-collage img:first-child{grid-row:1/3;background:#F7F9FB;object-fit:contain}
.ps-card.selection-card .ps-card-body{gap:14px}
.ps-selection-note{background:var(--surface-subtle);border-radius:7px;padding:10px 12px;font-size:12px;line-height:18px;color:var(--text-secondary);min-height:56px}
.ps-selection-note p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ps-selection-metrics{grid-template-columns:.7fr .7fr 1.5fr;padding-top:4px}
.ps-selection-metrics strong{font-size:15px}.ps-selection-metrics strong.ps-price-wide{font-size:14px}
.ps-selection-card-client{font-size:12px;line-height:18px;color:var(--muted);display:flex;gap:7px;align-items:center}
.ps-selection-card-client .i{width:15px;height:15px}
.ps-catalog-card .ps-card-body{gap:12px}
.ps-catalog-card .ps-description{min-height:60px}
.ps-catalog-card .ps-footer-actions{margin-top:auto;padding-top:4px}
.ps-document-kind{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;line-height:18px}
.ps-document-kind .i{width:16px;height:16px}
.ps-stacked-action{margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.ps-detail-hero{display:grid;grid-template-columns:1.35fr 1.1fr .95fr;gap:16px;align-items:stretch;margin-bottom:16px}
.ps-gallery{padding:8px;display:flex;flex-direction:column;overflow:hidden}
.ps-gallery-main{position:relative;display:block;width:100%;min-height:226px;flex:1;border-radius:7px;overflow:hidden;padding:0;text-align:left;background:var(--surface-subtle)}
.ps-gallery-main img{width:100%;height:100%;min-height:226px;position:absolute;inset:0;object-fit:cover}
.ps-gallery-caption{position:absolute;left:12px;bottom:12px;background:rgba(16,33,49,.8);color:#fff;padding:4px 8px;border-radius:6px;font-size:11px;line-height:16px;display:flex;align-items:center;gap:6px}
.ps-gallery-caption .i{width:14px;height:14px}
.ps-thumbnails{display:flex;gap:6px;margin-top:8px}
.ps-thumbnails button{height:48px;flex:1;max-width:100px;padding:2px;border:1px solid transparent;border-radius:7px;background:var(--surface-subtle);overflow:hidden}
.ps-thumbnails button[aria-pressed="true"]{border-color:var(--accent)}
.ps-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.ps-detail-facts{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;align-content:space-between}
.ps-fact{display:flex;align-items:flex-start;gap:10px;min-width:0}
.ps-fact-icon{width:28px;min-width:28px;height:28px;border-radius:7px;background:var(--surface-subtle);color:var(--muted);display:grid;place-items:center;margin-top:1px}
.ps-fact-icon .i{width:16px;height:16px}
.ps-fact label,.ps-fact small{display:block;color:var(--muted);font-size:11px;line-height:16px}
.ps-fact strong{display:block;font-size:13px;line-height:20px;font-weight:600;margin-top:4px;color:var(--text);word-break:normal}
.ps-agent-panel{padding:20px}
html[data-northstar="b"] .ps-agent-panel h2{font-size:16px;line-height:24px}
.ps-agent-panel dl{margin:16px 0 0;display:grid;gap:16px}
.ps-agent-panel dl>div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ps-agent-panel dt{font-size:12px;line-height:18px;color:var(--muted)}
.ps-agent-panel dd{font-size:13px;line-height:18px;font-weight:500;text-align:right;margin:0;min-width:0;overflow-wrap:anywhere}
.ps-agent-panel a{font-size:12px;text-decoration:none}
.ps-detail-secondary{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start;margin-bottom:24px}
.ps-detail-secondary>.panel{padding:20px;min-width:0}
.ps-detail-secondary h2{margin-bottom:12px}
.ps-about-copy{font-size:13px;line-height:21px;color:var(--text-secondary)}
.ps-about-copy.clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ps-map{position:relative;background:var(--surface-subtle);border-radius:8px;overflow:hidden}
.ps-map img{display:block;width:100%;height:150px;object-fit:cover}
.ps-map-label{font-size:11px;color:var(--muted);line-height:16px;margin-top:8px}
.ps-table-panel{overflow:hidden}.ps-table-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px}
.ps-table-title h2{display:flex;align-items:center;gap:10px}
.ps-table-title h2 small{font:400 12px/18px var(--ui-font),Arial;color:var(--muted)}
.ps-units-table table{min-width:960px}
.ps-units-table th,.ps-units-table td{white-space:nowrap}
.ps-plan-slot{display:grid;place-items:center;width:64px;height:48px;background:var(--surface-subtle);border-radius:7px;color:var(--muted)}
.ps-plan-slot .i{width:19px;height:19px}
.ps-units-table td:last-child{text-align:right}
.ps-units-table td:last-child>.btn{color:var(--accent)!important;background:transparent!important;border-color:transparent!important}
.ps-detail-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;line-height:18px;color:var(--muted);margin-bottom:12px}
.ps-detail-breadcrumbs button{font-size:inherit;padding:0;color:var(--muted)}.ps-detail-breadcrumbs button:hover{color:var(--accent)}
.ps-detail-breadcrumbs .i{width:13px;height:13px;transform:rotate(-90deg)}
html[data-northstar="b"] .ps-catalog-drawer{width:min(860px,100vw)}
.ps-catalog-drawer .dialog-body{padding:0 24px 24px!important}
.ps-catalog-drawer .dialog-head{padding-bottom:14px!important}
.ps-catalog-cover{height:180px;width:100%;object-fit:cover;border-radius:8px}
.ps-catalog-drawer .ps-catalog-description{color:var(--text-secondary);font-size:13px;line-height:20px;margin:16px 0 12px}
.ps-catalog-summary{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:12px;line-height:18px;margin-bottom:6px}
.ps-catalog-drawer .ps-tabbar{margin-bottom:16px;gap:22px}
.ps-complex-rows{display:grid;gap:12px}
.ps-complex-row{display:grid;grid-template-columns:144px minmax(0,1fr);gap:16px;padding:12px;background:white;border:1px solid var(--line);border-radius:10px;align-items:start}
.ps-complex-row>button{padding:0;height:116px;width:144px;overflow:hidden;border-radius:7px}
.ps-complex-row>button img{width:100%;height:100%;object-fit:cover}
.ps-complex-row-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.ps-row-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ps-row-title h3{font-size:14px;line-height:21px;min-width:0}
.ps-row-title .btn.icon{min-height:28px;width:28px;padding:4px}
.ps-row-sub{font-size:11px;line-height:16px;color:var(--muted)}
.ps-row-metrics{display:grid;grid-template-columns:.6fr 1.2fr 1fr;gap:12px;margin-top:4px}
.ps-row-metrics label{display:block;font-size:11px;line-height:16px;color:var(--muted)}
.ps-row-metrics strong{font-size:13px;line-height:20px;color:var(--text);font-weight:600}
.ps-row-metrics small{display:block;font-size:11px;line-height:16px;color:var(--muted)}
.ps-dialog-gallery{width:min(960px,calc(100vw - 32px))}
.ps-dialog-gallery .dialog-body img{width:100%;max-height:68vh;object-fit:contain;background:var(--surface-subtle);border-radius:8px}
.ps-dialog-gallery .dialog-foot{justify-content:space-between!important}
.ps-menu-dialog{width:380px}.ps-menu-actions{display:grid;gap:8px}.ps-menu-actions .btn{justify-content:flex-start!important;width:100%}
.ps-review-scope{margin-bottom:18px}
.ps-coverage-list{display:grid;gap:0}.ps-coverage-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:20px}
.ps-coverage-row:last-child{border:0}.ps-coverage-row .btn{flex-shrink:0}
.ps-partial-state{padding:32px 24px;color:var(--text-secondary)}.ps-partial-state h2{margin-bottom:10px}.ps-partial-state p{max-width:640px;font-size:13px;line-height:21px}
.ps-partial-state .btn{margin-top:20px}
#collectionsScreen .toolbar-left{flex:1}
#favoritesScreen .ps-tabbar{margin-top:-2px}
.ps-screen .toolbar-right .field{max-width:260px}
html[data-northstar="b"] .ps-review-marker{border-radius:6px;background:var(--surface-subtle);color:var(--muted);padding:2px 7px;font-size:11px;line-height:16px;white-space:nowrap}
@container(max-width:1150px){
 .ps-detail-hero{grid-template-columns:1.3fr 1fr}
 .ps-agent-panel{grid-column:1/-1}
 .ps-agent-panel dl{grid-template-columns:repeat(3,1fr);gap:16px 24px}
 .ps-grid.list .developer-card .ps-card-body{grid-template-columns:1.2fr 1.1fr 1.1fr}.ps-grid.list .developer-card .ps-footer-actions{grid-column:3}
 .ps-selection-metrics{grid-template-columns:.65fr .65fr 1.5fr}.ps-selection-metrics strong.ps-price-wide{font-size:13px}
}
@container(max-width:1020px){
 .ps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ps-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ps-detail-secondary{grid-template-columns:1fr 1fr}
 .ps-detail-facts{gap:20px 12px}
 .ps-grid.list .ps-card-body{grid-template-columns:minmax(0,1fr)}
 .ps-grid.list .ps-metrics,.ps-grid.list .ps-footer-actions{grid-column:1;grid-row:auto}
 .ps-grid.list .developer-card .ps-card-body{grid-template-columns:1fr 1fr}.ps-grid.list .developer-card .ps-footer-actions{grid-column:2;justify-content:flex-end}
}
@container(max-width:680px){
 .ps-grid{grid-template-columns:1fr}
 .ps-detail-hero,.ps-detail-secondary{grid-template-columns:1fr}
 .ps-agent-panel{grid-column:auto}
 .ps-agent-panel dl{grid-template-columns:1fr 1fr}
 .ps-gallery-main,.ps-gallery-main img{min-height:230px}
 .ps-detail-facts{gap:22px 18px}
 .ps-grid.list .ps-card{grid-template-columns:1fr}
 .ps-grid.list .ps-card-photo{height:210px;min-height:210px}
 .ps-grid.list .developer-card .ps-card-body{display:flex}
 .ps-grid.list .ps-footer-actions{justify-content:flex-start}
 .ps-grid.list .ps-metrics{width:100%}
 .ps-filter-second>label{min-width:0;max-width:none;flex-basis:100%}
 .ps-filter-second .ps-tags-toggle{margin-left:0}
 .ps-tabbar{gap:20px}.ps-tabbar button{font-size:12px}
 .ps-collage{height:174px}
 .ps-selection-metrics strong.ps-price-wide{font-size:14px}
}
@media(max-width:800px){
 .pages-lab-picker{width:100%}.pages-lab-picker label{display:none}.pages-lab-picker select{width:100%;min-width:0}
 .ps-card-photo{height:215px}
 .ps-filter-grid{grid-template-columns:1fr 1fr}
 .ps-card-heading .fav{min-height:38px;min-width:38px}
 .ps-card .btn{min-height:44px}
 .ps-entity-head .btn.icon{width:40px;min-height:40px}
 .ps-card .ps-card-body{padding:20px}
 .ps-row-title .btn.icon{min-height:38px;width:38px}
 .ps-catalog-drawer .dialog-body{padding:0 20px 20px!important}
 .ps-catalog-cover{height:150px}
 .ps-complex-row{grid-template-columns:100px minmax(0,1fr);gap:12px}
 .ps-complex-row>button{width:100px;height:96px}
 .ps-row-metrics{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
 .ps-row-metrics>div:first-child{display:none}
 .ps-map img{height:140px}
 .ps-table-title{align-items:flex-start}.ps-table-title h2{display:block}.ps-table-title h2 small{display:block;margin-top:4px}
 .ps-coverage-row{align-items:flex-start}
}
@media(max-width:420px){
 .ps-filter-grid{grid-template-columns:1fr}
 .ps-tabbar{gap:13px}
 .ps-agent-panel dl{grid-template-columns:1fr}
 .ps-metrics strong.ps-price-wide{font-size:13px}
 .ps-complex-row{display:block}
 .ps-complex-row>button{width:100%;height:138px;margin-bottom:10px}
 .ps-row-metrics{grid-template-columns:.5fr 1fr 1fr}.ps-row-metrics>div:first-child{display:block}
 .ps-catalog-summary{gap:10px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.ps-card{transition:none}}
/* Stack list controls instead of shrinking their text or letting the search overlap. */
@container(max-width:680px){
 .ps-screen .toolbar{flex-wrap:wrap}
 .ps-screen .toolbar-left{width:100%;min-width:0;flex-wrap:wrap}
 .ps-screen .toolbar-right{width:100%;min-width:0;flex-wrap:wrap;gap:8px}
 .ps-screen .toolbar-right .ps-list-search{flex-basis:100%;max-width:none;min-width:0;width:100%}
 .ps-screen .toolbar-right .ps-list-search .field{width:100%;min-width:0;max-width:none}
 .ps-screen .toolbar-right>select.field{flex:1;width:auto;min-width:0;max-width:none}
 .ps-screen .toolbar-right>span{flex:none}
}
#psUnitsSection{scroll-margin-top:calc(var(--lab-height) + 80px)}


/* Responsive grid review — ONLY geometry, not a new visual direction.
   Applied over the exact all-pages prototype. No product data or image replacement.
   The frame queries use the space left after sidebar and page padding.
   Tracks stay present when a row is incomplete; data count never decides column count. */
html[data-grid-review="adaptive"] .main{
  width:100%;max-width:1968px;container-type:inline-size;container-name:sg-frame;
}
html[data-grid-review="adaptive"] .sg-list-screen{
  --sg-columns:1;--sg-card-max:440px;
  width:100%;max-width:min(100%,calc(var(--sg-columns) * var(--sg-card-max) + (var(--sg-columns) - 1) * 16px));
  margin-inline:auto;container-type:inline-size;container-name:sg-content;
}
html[data-grid-review="adaptive"] .sg-list-screen.sg-rich{--sg-card-max:460px}
html[data-grid-review="adaptive"] .sg-list-screen :is(.cards,.ps-grid:not(.list)){
  grid-template-columns:repeat(var(--sg-columns),minmax(0,1fr));gap:16px;align-items:stretch;
}
/* Row/list and table views have their own width; never inherit a card-sized frame. */
html[data-grid-review="adaptive"] .sg-list-screen:has(.ps-grid.list){max-width:1640px}
html[data-grid-review="adaptive"] #catalogScreen:has(#results table){max-width:1920px}
html[data-grid-review="adaptive"] .sg-list-screen .ps-grid.list{grid-template-columns:1fr}
html[data-grid-review="adaptive"] .sg-detail-screen{
  width:100%;max-width:1480px;margin-inline:auto;container-type:inline-size;container-name:sg-detail;
}
html[data-grid-review="adaptive"] .sg-collection-screen,
html[data-grid-review="adaptive"] #componentsScreen{
  width:100%;max-width:1640px;margin-inline:auto;container-type:inline-size;container-name:sg-detail;
}
/* 320px minimum for flats, complexes and developers; 16px fixed gutters. */
@container sg-frame (min-width:656px){html[data-grid-review="adaptive"] .sg-list-screen:not(.sg-rich){--sg-columns:2}}
@container sg-frame (min-width:992px){html[data-grid-review="adaptive"] .sg-list-screen:not(.sg-rich){--sg-columns:3}}
@container sg-frame (min-width:1328px){html[data-grid-review="adaptive"] .sg-list-screen:not(.sg-rich){--sg-columns:4}}
@container sg-frame (min-width:1664px){html[data-grid-review="adaptive"] .sg-list-screen:not(.sg-rich){--sg-columns:5}}
/* Collections/catalogs reserve slightly more space for covers, totals and titles. */
@container sg-frame (min-width:688px){html[data-grid-review="adaptive"] .sg-list-screen.sg-rich{--sg-columns:2}}
@container sg-frame (min-width:1040px){html[data-grid-review="adaptive"] .sg-list-screen.sg-rich{--sg-columns:3}}
@container sg-frame (min-width:1392px){html[data-grid-review="adaptive"] .sg-list-screen.sg-rich{--sg-columns:4}}
@container sg-frame (min-width:1744px){html[data-grid-review="adaptive"] .sg-list-screen.sg-rich{--sg-columns:5}}
/* Images follow card width within a bounded slot. Existing object-fit rules remain. */
html[data-grid-review="adaptive"] .sg-list-screen .cards .card-media{
  height:auto;aspect-ratio:16/9;min-height:168px;max-height:224px;flex-shrink:0;
}
html[data-grid-review="adaptive"] .sg-list-screen .ps-grid:not(.list) .ps-card-photo{
  height:auto;aspect-ratio:16/9;min-height:168px;max-height:232px;flex-shrink:0;
}
html[data-grid-review="adaptive"] .sg-list-screen .ps-collage{
  height:auto;aspect-ratio:2.1;min-height:154px;max-height:200px;
}
html[data-grid-review="adaptive"] .sg-detail-screen .ps-gallery-main{max-height:360px}
/* Do not shrink type to make a grid fit. Existing typography and 40px controls stay. */
html[data-grid-review="adaptive"] .sg-list-screen .ps-selection-metrics strong.ps-price-wide{font-size:14px}
html[data-grid-review="adaptive"] :is(.ps-metrics,.ps-card-heading,.card-content,.ps-entity-head)>*{min-width:0}

/* Review controls (outside the product). They are identical in both states. */
.sg-review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
.sg-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #D9E2E8;border-radius:8px;background:#F4F6F8}
.sg-toggle button{padding:5px 11px;min-height:30px;font:500 12px/18px var(--ui-font),Arial,sans-serif;color:#526575;border-radius:5px}
.sg-toggle button:hover{background:#E7EDF1}
.sg-toggle button[aria-pressed="true"]{background:#24303F;color:#FFF}
.sg-caption{color:#526575;font-size:12px;line-height:18px}
.sg-metrics{font-variant-numeric:tabular-nums;display:flex;gap:12px;flex-wrap:wrap;font-size:12px;line-height:18px;color:#526575}
.sg-metrics b{color:#24303F;font-weight:600}
.sg-dialog{width:740px}
.sg-dialog p{font-size:13px;line-height:21px;color:var(--text-secondary);margin:0 0 14px}
.sg-dialog h3{font-size:14px;line-height:21px;margin:20px 0 6px}
.sg-rules-table{width:100%;min-width:520px;table-layout:fixed;font-size:13px}
.sg-rules-table th{white-space:normal}
.sg-rules-table td{padding:12px 14px;font-size:13px;line-height:20px}
.sg-dialog .table-scroll{border:1px solid var(--line)}
.sg-dialog .dialog-body{max-height:min(64dvh,620px);overflow:auto}
.sg-dialog .sg-scope{font-size:12px;padding:12px 14px;background:var(--surface-subtle);border-radius:8px;color:var(--text-secondary);line-height:20px}
#comparisonDock .sg-toggle{border:0;background:#F1F4F6;padding:2px}
#comparisonDock .sg-toggle button{padding:6px 9px;min-height:34px}
@media(max-width:800px){
 .sg-review-row{align-items:flex-start;gap:8px}
 .sg-caption{font-size:11px;line-height:17px}
 .sg-metrics{font-size:11px;gap:4px 10px}
 .sg-toggle button{min-height:36px;padding:6px 9px}
 .lab .sg-metrics{flex-basis:100%}
 .pages-lab-picker{min-width:0;flex:1}
 .pages-lab-picker select{min-width:0;width:100%}
 #comparisonDock.pages-dock{gap:3px;padding:4px}
 #comparisonDock.pages-dock>button{padding:6px 8px;font-size:11px}
 #comparisonDock .sg-toggle button{min-height:40px;font-size:11px;padding:6px 8px}
}
/* Intrinsic-size safeguards for the narrower tracks: reflow content, never reduce type. */
html[data-grid-review="adaptive"] .sg-list-screen .ps-grid:not(.list) .complex-card .ps-metrics{
  grid-template-columns:minmax(0,1fr) minmax(122px,1.25fr) minmax(0,.62fr);
}
html[data-grid-review="adaptive"] .sg-list-screen .ps-entity-head{
  grid-template-columns:52px minmax(0,1fr) var(--control);
}
html[data-grid-review="adaptive"] .sg-list-screen .ps-entity-head .ps-title-link{overflow-wrap:anywhere}
html[data-grid-review="adaptive"] .sg-list-screen .ps-collage{
  width:calc(100% - 20px);max-width:calc(100% - 20px);min-width:0;
}
html[data-grid-review="adaptive"] .sg-list-screen .selection-card>button{min-width:0;width:100%}
html[data-grid-review="adaptive"] .sg-list-screen .ps-selection-metrics{
  grid-template-columns:minmax(56px,.6fr) minmax(82px,.75fr) minmax(0,1.6fr);
}



/* Shared components refinement. Approved responsive grid, font and brand stay intact.
   The comparison toggles this layer; no old grid or discarded green theme is restored. */
.sc-after-only{display:none}
.sc-list-region,.sc-detail-overview{display:contents}
.sc-label-old{display:inline}.sc-label-new{display:none}
.sc-selected-placeholder{display:none}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"]{--sc-action:#EDF5F2;--sc-action-hover:#E1EEEA;--sc-action-border:#D4E4DE;--sc-action-ink:#215F55;--sc-neutral:#F2F5F3;--sc-neutral-hover:#E8EFEB;--sc-focus:#658F84;--sc-field:#CAD6D2;--sc-row-hover:#F8FAF7}
/* One quiet, contiguous border for a focused text control. Keyboard focus is retained. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) :is(.field,.range){border-color:var(--sc-field);box-shadow:none}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .form-label{color:#44594F}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) :is(.field:focus,.field:focus-visible,.range:focus-within){outline:none!important;outline-offset:0;border:1px solid var(--sc-focus);box-shadow:none!important;background-color:#FFF;caret-color:var(--accent)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .range input:is(:focus,:focus-visible){outline:none!important;box-shadow:none!important;border-top:0;border-right:0;border-bottom:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .field[aria-invalid="true"],html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .range:has([aria-invalid="true"]){border-color:var(--danger)!important}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .field:disabled{background:var(--disabled-bg);color:var(--disabled-text)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .field[readonly]{background:var(--surface-subtle)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .multi-trigger[aria-expanded="true"]{outline:none!important;border-color:var(--sc-focus);box-shadow:none!important}
/* All repeated text actions have a surface and symmetrical insets. No hover movement. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn:not(.primary):not(.icon):is([data-add],.ps-link-action,[data-ps-developer],[data-ps-selection],[data-ps-catalog],[data-show-building]){
 background:var(--sc-action)!important;border:1px solid var(--sc-action-border)!important;color:var(--sc-action-ink)!important;
 padding-inline:12px!important;margin-left:0!important;gap:8px;min-height:var(--control);font-weight:500;justify-content:center;box-shadow:none;
}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn:not(.primary):not(.icon):is([data-add],.ps-link-action,[data-ps-developer],[data-ps-selection],[data-ps-catalog],[data-show-building]):hover{
 background:var(--sc-action-hover)!important;border-color:#C1D9D0!important;color:#184D43!important;margin-left:0!important;
}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn:not(.primary)[data-add].chosen{background:#E0EFE8!important;border-color:#C0D9CD!important;color:#175841!important;padding-inline:12px!important}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .card-actions{justify-content:space-between}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn.icon:not(.primary){background:var(--sc-neutral);border:1px solid #E0E7E3;color:#52655B;box-shadow:none;padding:8px;display:inline-flex;align-items:center;justify-content:center}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn.icon:not(.primary):hover{background:var(--sc-neutral-hover);border-color:#CDDAD3;color:#223E31}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn.icon.danger-outline:hover{background:var(--danger-bg);border-color:#E9CFD3;color:var(--danger)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn:disabled,html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn:disabled:hover{background:var(--disabled-bg)!important;border-color:transparent!important;color:var(--disabled-text)!important;cursor:not-allowed;box-shadow:none}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn.primary{padding-inline:14px;gap:8px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .btn .i{flex:0 0 16px;vertical-align:middle}
/* Close remains a quiet utility, not a boxed primary action. Focus is visible via keyboard. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .dialog .dialog-head .btn.icon[data-close],html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .dialog #psCatalogClose{border-color:transparent;background:transparent;color:#65796D}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .dialog .dialog-head .btn.icon[data-close]:hover,html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .dialog #psCatalogClose:hover{background:var(--sc-neutral-hover);color:var(--text)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .btn:focus-visible,html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) .fav:focus-visible{outline:2px solid #5B8C7E;outline-offset:2px;box-shadow:none}
/* One Favorite control on photos, cards, rows and in the detail panel. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) :is(.fav,.favorite-btn,[data-ps-favorite]){
 width:40px;height:40px;min-width:40px;min-height:40px;flex:0 0 40px;padding:8px;border:1px solid #DFE7E2!important;border-radius:9px!important;
 color:#64776C;background:#F8FAF8!important;box-shadow:none;display:inline-flex;align-items:center;justify-content:center;
}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) :is(.fav,.favorite-btn,[data-ps-favorite]):hover{background:#EDF3EF!important;border-color:#CDDAD2!important;color:#8E3947}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) :is(.fav,.favorite-btn,[data-ps-favorite])[aria-pressed="true"]{background:#FFF1F3!important;border-color:#EED8DD!important;color:#AB364B}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) :is(.fav,.favorite-btn,[data-ps-favorite]) .i{width:17px;height:17px;flex:0 0 17px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .ps-entity-head{grid-template-columns:52px minmax(0,1fr) 40px}
/* Labels describe an attribute, not the entire object already named under the photo. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .card-media>.badge{color:#526259;background:#F9FBF7ED;border:0;box-shadow:none;border-radius:5px;font-size:11px;font-weight:500;min-height:21px;line-height:15px;padding:3px 7px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .card-media>.badge.sc-redundant-label{display:none}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .ps-count-label{background:#F8FAF5F0;color:#40564A;border:0;box-shadow:none;padding:3px 8px;border-radius:5px}
/* Bounded table feedback, no cold blue wash. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) tbody tr:hover{background:var(--sc-row-hover)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .group-toggle:hover{background:#FAFCF9}
/* Catalog art uses the same inset as the collection cover; the grid is unchanged. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .ps-catalog-card>.ps-card-photo{margin:10px 10px 0;width:calc(100% - 20px);max-width:calc(100% - 20px);border-radius:8px;overflow:hidden}
/* Anchor list tools and footer to one results region, with no extra horizontal padding. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-list-region{display:grid;gap:16px;min-width:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-list-region>.toolbar{margin:0;padding:12px 16px;background:#FFF;border:1px solid var(--line);border-radius:11px;min-height:66px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-list-region .toolbar-left strong{font-size:15px;font-weight:600;line-height:22px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-list-region .ps-footer{margin:0;padding:12px 16px;min-height:58px;border:1px solid var(--line);border-radius:10px;background:#FFF;color:#52675B}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-pagination{display:flex;align-items:center;gap:8px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-pagination-caption{display:inline;color:#6A7A70;font-size:12px;margin-right:4px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .ps-page-number{border-radius:7px;min-width:30px;height:30px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .ps-selection-card-client{font-size:13px;line-height:20px;color:#53695B}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .ps-selection-note{background:#F3F7F3;color:#475D4F}
/* Detail overview is a single block. Notes are attached to the metadata, not a floating strip. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-detail-overview{display:block;background:#FFF;border:1px solid var(--line);border-radius:12px;box-shadow:var(--ns-card-shadow);overflow:hidden;margin-bottom:22px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-detail-overview .collection-summary{margin:0;border:0;border-radius:0;box-shadow:none}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-detail-overview .collection-note{margin:0;border:0;border-radius:0;box-shadow:none;background:#F3F7F4;padding:14px 20px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-detail-overview .collection-note .caption{color:#536859;font-weight:500}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-collection-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-collection-label h2{font-size:18px;line-height:25px;font-weight:600}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-collection-label span{font-size:12px;color:#64786B}
/* The existing complex filters, in two comprehensible groups. Same fields and listeners. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #complexesScreen .sc-filter-panel{padding:18px 20px 20px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-title{display:flex;align-items:center;gap:9px;min-width:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-title h2{font-size:16px;line-height:24px;font-weight:600}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-title>.i{color:#4A7866;width:17px;height:17px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-counter{font-size:11px;font-weight:500;line-height:18px;padding:1px 7px;border-radius:5px;background:#E9F3ED;color:#34634D;white-space:nowrap}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head-actions{display:flex;align-items:center;gap:8px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head-actions .btn{min-height:36px;padding:7px 10px;font-size:12px;line-height:20px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head-actions [data-ps-reset]{background:transparent;border-color:transparent;color:#607468}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head-actions [data-ps-reset]:disabled{background:transparent!important;border-color:transparent!important;color:#849389!important}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head-actions #psMoreComplexFilters{background:#F1F5F2;border:1px solid #DCE6DF;color:#405D4B;margin:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.15fr);gap:18px;align-items:stretch}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-group{padding:14px;border-radius:10px;min-width:0;background:#F4F8F5}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-group+.sc-filter-group{background:#F8FAF8}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-group-caption{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:12px;line-height:18px;font-weight:600;color:#405C4A}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-group-caption .i{width:14px;height:14px;color:#799182}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-fields{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;align-items:end}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-parameter-fields{grid-template-columns:minmax(85px,.85fr) minmax(155px,1.45fr) minmax(90px,.9fr)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-fields .form-label{font-size:12px;color:#4B6354;line-height:18px;gap:6px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-fields select.field{padding-right:36px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-fields .field,html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-fields .range{border-color:#D1DDD4;background-color:#FFF}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #psComplexExtra{padding:16px 0 0;gap:12px 24px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #psComplexExtra .check-row{font-size:13px;color:#4F6857}
/* Create selection: title + form, then a separate review surface with its own scroll. */
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog{width:640px;overflow:hidden}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createForm{display:flex;flex-direction:column;max-height:calc(100dvh - 34px);min-height:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-head{padding:22px 24px 16px;align-items:center;gap:12px;flex:none}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-create-symbol{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:#EAF3EE;color:#2F6551}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-create-symbol .i{width:21px;height:21px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-head>div:not(.sc-create-symbol){flex:1}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-head h2{font-size:22px;line-height:30px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-head p{margin:2px 0 0;font-size:12px;color:#65786B}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-body{display:grid;gap:20px;padding:0 24px 20px;overflow:auto;min-height:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-create-fields{display:grid;gap:14px;padding-top:2px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .field-spaced{margin:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .form-label{font-size:13px;color:#283E30;gap:8px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .sc-label-new{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;line-height:20px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .sc-label-old{display:none}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-optional{font-size:11px;line-height:16px;font-weight:400;color:#738476}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .field{font-size:14px;color:var(--text);height:42px;background:#FFF;padding-inline:12px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .field::placeholder{color:#809185}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .field:focus{border-color:var(--sc-focus)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .field-error{margin:6px 0 0;font-size:12px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-selected-section{padding:14px;background:#F3F7F4;border:1px solid #E0E9E2;border-radius:11px;min-width:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-selected-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-selected-heading h3{font-size:14px;line-height:21px;font-weight:600;flex:1;color:#283E30}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-selected-heading span{font-size:12px;line-height:20px;border-radius:5px;padding:1px 7px;background:#E1ECE4;color:#3A5D46;font-variant-numeric:tabular-nums;white-space:nowrap}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSummary{display:none}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected{border:0;background:white;border-radius:8px;max-height:218px;scrollbar-width:thin;scrollbar-color:#B5C6BA transparent;overflow:auto}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-row{gap:10px;padding:12px 10px;border-color:#EBF0EB}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-row img,html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .sc-selected-placeholder{width:46px;height:44px;flex:0 0 46px;object-fit:cover;border-radius:5px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .sc-selected-placeholder{display:grid;place-items:center;background:#F1F5F1;color:#7A8D7E}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-info strong{font-size:13px;line-height:18px;font-weight:600;color:var(--text)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-info small{font-size:12px;line-height:17px;color:#69806F}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-row>span.num{font-size:13px;font-weight:600;line-height:18px;color:var(--text);white-space:nowrap}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .btn.icon{width:32px;min-width:32px;min-height:32px;height:32px;padding:6px;flex:0 0 32px;border:0;background:transparent;color:#788D7E}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .btn.icon:hover{background:#F0F5F0;color:var(--danger)}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #noSelectedHint{background:transparent;border:0;margin:0;padding:8px 2px 6px;font-size:13px;line-height:20px;color:#5A7162}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-pick-link{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:13px;font-weight:500;margin:5px 0 0;padding:0;text-decoration:underline;text-underline-offset:3px}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-foot{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 24px 20px;background:#FAFCFA;border:0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-foot .smallnote{font-size:11px;line-height:16px;color:#708375;flex:1;max-width:210px;margin:0 auto 0 0}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-foot .btn{flex:0 0 auto}
html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-foot .btn.primary{min-height:40px}
/* Review controls are deliberately neutral and never part of the product style. */
.sc-change-list{display:grid;gap:14px;margin:0;padding:0;list-style:none;font-size:13px;line-height:21px}
.sc-change-list strong{display:block;color:var(--text);font-size:14px;margin-bottom:2px}
#scChangesDialog{width:680px}
#scChangesDialog .dialog-body{max-height:68dvh;overflow:auto}
@container sg-content (max-width:1000px){html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-layout{grid-template-columns:1fr;gap:12px}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-fields{grid-template-columns:1fr 1fr}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-parameter-fields{grid-template-columns:1fr 1.25fr 1fr}}
@container sg-content (max-width:600px){html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head{align-items:flex-start;flex-wrap:wrap;gap:10px}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head-actions{width:100%;justify-content:space-between}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-fields{grid-template-columns:1fr}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-parameter-fields{grid-template-columns:1fr 1fr}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-parameter-fields>.form-label:nth-child(2){grid-column:1/-1;grid-row:2}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #complexesScreen .sc-filter-panel{padding:16px}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-list-region>.toolbar{padding:12px}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-list-region .ps-footer{padding:12px;gap:12px;align-items:center}html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-pagination-caption{display:none}}
@media(max-width:800px){
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] :is(.app,.dialog) :is(.fav,.favorite-btn,[data-ps-favorite]){width:44px;height:44px;min-width:44px;min-height:44px;flex-basis:44px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .ps-entity-head{grid-template-columns:52px minmax(0,1fr) 44px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-head-actions .btn{min-height:40px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-head{padding:18px 18px 14px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-body{padding:0 18px 16px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-foot{padding:14px 18px 18px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .field{height:44px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-foot .smallnote{flex-basis:100%;max-width:none;font-size:11px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-foot .btn{flex:1;min-height:44px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .btn.icon{width:40px;height:40px;min-width:40px;min-height:40px;flex-basis:40px}
}
@media(max-width:520px){
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createDialog .dialog-head h2{font-size:20px;line-height:27px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-create-symbol{display:none}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-selected-section{padding:12px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-row{display:grid;grid-template-columns:38px minmax(0,1fr) 36px;gap:3px 8px;align-items:center;padding:10px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-row img,html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .sc-selected-placeholder{width:38px;height:42px;grid-column:1;grid-row:1/3}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-info{grid-column:2;grid-row:1}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-row>span.num{grid-column:2;grid-row:2;font-size:12px;line-height:18px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .btn.icon{grid-column:3;grid-row:1/3;width:36px;min-width:36px;height:40px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] #createSelected .selected-info strong{font-size:12px}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-collection-label{align-items:flex-start}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-collection-label span{text-align:right}
 html[data-components-pass="after"][data-northstar="b"][data-refinement="after"] .sc-filter-counter{display:none}
}

