*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f5f6f8;color:#171a1f;font-family:Inter,Arial,sans-serif;font-size:13px}button,input,select,textarea{font:inherit}a{color:inherit}.hidden{display:none!important}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:#667085}.tiny{font-size:10px}.nowrap{white-space:nowrap}.wide{width:100%;margin-top:8px}.danger-text{color:#b42318;font-size:12px;line-height:1.5}
.btn{appearance:none;border:1px solid #cfd4dc;background:#fff;color:#262b33;border-radius:6px;padding:7px 11px;line-height:1.2;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:11px}.btn:hover{background:#f7f8fa;border-color:#b7bec8}.btn.primary{background:#20242b;color:#fff;border-color:#20242b}.btn.primary:hover{background:#111318}.btn.small{padding:6px 9px;font-size:10px}.btn:disabled{opacity:.45;cursor:not-allowed}
.input,.select,.textarea{width:100%;border:1px solid #cfd4dc;border-radius:6px;background:#fff;color:#171a1f;padding:8px 9px;outline:none;font-size:11px}.input:focus,.select:focus,.textarea:focus{border-color:#667085;box-shadow:0 0 0 2px rgba(102,112,133,.08)}.textarea{min-height:90px;resize:vertical}.form-stack{display:grid;gap:10px}.field{display:grid;gap:5px}.field label{font-size:10px;color:#475467;font-weight:700}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(390px,100%);background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:24px}.login-brand{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px}.login-brand h1{font-size:21px;margin:0 0 5px}.login-brand p{font-size:11px;line-height:1.45;color:#667085;margin:0}.login-note{border-top:1px solid #eaecf0;margin-top:18px;padding-top:12px;color:#98a2b3;font-size:10px}.brand-mark{width:32px;height:32px;border-radius:6px;background:#20242b;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.04em;flex:0 0 auto}
.app-shell{min-height:100vh}.topbar{height:58px;position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #dde1e6;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:0 20px}.brand{display:flex;align-items:center;gap:9px;min-width:max-content}.brand b{display:block;font-size:12px}.brand span{display:block;font-size:9px;color:#667085;margin-top:2px}.nav{display:flex;align-items:center;gap:3px;min-width:0;overflow:auto}.nav-btn{border:0;background:transparent;color:#475467;border-radius:5px;padding:7px 9px;cursor:pointer;font-size:10px;white-space:nowrap}.nav-btn:hover{background:#f2f4f7;color:#101828}.nav-btn.active{background:#e9ecf0;color:#101828;font-weight:700}.nav-label{display:none}.top-user{display:flex;align-items:center;gap:10px}.user-mini{text-align:right;min-width:0}.user-mini b{display:block;font-size:10px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini span{display:block;color:#667085;font-size:9px;margin-top:2px}.main{min-width:0}.page{max-width:1500px;margin:0 auto;padding:20px 24px 42px}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.page-head h1{font-size:20px;line-height:1.2;margin:0}.page-head p{color:#667085;margin:5px 0 0;line-height:1.45;font-size:10px;max-width:900px}.page-actions{display:flex;flex-wrap:wrap;gap:6px}.eyebrow{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#7a8492;font-weight:800;margin-bottom:5px}
.service-summary{background:#fff;border:1px solid #dfe3e8;border-radius:7px;padding:11px 13px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:20px}.service-summary span{display:block;font-size:9px;color:#667085}.service-summary b{display:block;font-size:12px;margin-top:2px}.service-summary small{font-size:9px;color:#667085;text-align:right}
.panel{background:#fff;border:1px solid #dfe3e8;border-radius:7px;padding:13px}.panel+.panel{margin-top:10px}.panel-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.panel-title h2,.panel-title h3{margin:0;font-size:13px}.panel-title p{margin:3px 0 0;font-size:9px;color:#667085}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:10px}.stat{background:#fff;border:1px solid #dfe3e8;border-radius:7px;padding:9px 10px;min-width:0}.stat span{font-size:8px;color:#667085;display:block}.stat b{display:block;font-size:16px;margin-top:3px;overflow-wrap:anywhere}
.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.service-card{background:#fff;border:1px solid #dfe3e8;border-radius:7px;padding:10px;display:flex;flex-direction:column;min-height:112px}.service-card.locked{background:#fafafa;opacity:.64}.service-no{font-size:8px;color:#7a8492;text-transform:uppercase;letter-spacing:.06em}.service-main h3,.service-card h3{font-size:11px;margin:5px 0 4px;line-height:1.25}.service-main p,.service-card p{font-size:9px;line-height:1.4;color:#667085;margin:0 0 8px}.service-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:auto}.pill{display:inline-block;font-size:8px;padding:3px 5px;border-radius:4px;background:#f0f2f5;color:#475467;font-weight:700}.pill.ok{background:#ecfdf3;color:#067647}.pill.warn{background:#fffaeb;color:#b54708}.pill.bad{background:#fef3f2;color:#b42318}.pill.dark{background:#20242b;color:#fff}
.grid-2{display:grid;grid-template-columns:minmax(270px,.55fr) minmax(0,1.8fr);gap:10px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sticky-panel{position:sticky;top:72px;align-self:start}.dropzone{border:1px dashed #9aa4b2;border-radius:6px;padding:18px 12px;min-height:120px;display:grid;place-items:center;text-align:center;gap:5px;cursor:pointer;background:#fbfcfd}.dropzone.drag{border-color:#344054;background:#f7f8fa}.dropzone strong{font-size:11px}.dropzone span{font-size:9px;color:#667085}.selected-file{font-size:9px;color:#344054;word-break:break-all}.method-strip{border:1px solid #e7eaee;border-radius:6px;padding:8px;margin-bottom:9px;background:#fafbfc;display:grid;gap:2px}.method-strip b{font-size:10px}.method-strip span{font-size:8px;color:#667085;line-height:1.4}.privacy{border-left:2px solid #98a2b3;padding:7px 9px;background:#f8f9fb;color:#475467;font-size:9px;line-height:1.45;margin-top:9px}.processing{min-height:220px;display:grid;place-items:center;align-content:center;text-align:center;gap:7px;color:#667085;font-size:10px}.spinner{width:24px;height:24px;border:2px solid #e4e7ec;border-top-color:#20242b;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.status-hero{border:1px solid #d7dce2;border-radius:7px;padding:10px 12px;margin-bottom:8px}.status-hero h2{font-size:16px;margin:3px 0}.status-hero p{margin:0;color:#475467;font-size:9px}.status-hero.ok{background:#f5fbf7;border-color:#b7e6c8}.status-hero.warn{background:#fffcf3;border-color:#efdfaa}.status-hero.bad{background:#fff7f6;border-color:#edc5c1}.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0}.meta-box{border:1px solid #e7eaee;border-radius:6px;padding:7px 8px;min-width:0}.meta-box span{font-size:8px;color:#667085;display:block}.meta-box b{font-size:9px;display:block;margin-top:3px;overflow-wrap:anywhere;line-height:1.35}.section{margin-top:13px}.section h3{font-size:12px;margin:0 0 6px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head span{font-size:9px;color:#667085}.compact-section{margin-top:9px}.pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.stage{border:1px solid #e7eaee;border-radius:6px;padding:7px}.stage-top{display:flex;justify-content:space-between;gap:5px}.stage b{font-size:9px}.stage p{font-size:8px;color:#667085;line-height:1.35;margin:4px 0 0}.stage.DONE{border-color:#b7e6c8}.stage.STOP{border-color:#edc5c1;background:#fffafa}.stage.SKIPPED{background:#fafafa}.gate-list{display:grid;gap:5px}.gate{border:1px solid #edd7bd;background:#fffaf5;border-radius:6px;padding:7px;display:grid;grid-template-columns:40px 1fr;gap:6px}.gate b{font-size:9px}.gate strong{font-size:9px;display:block}.gate span{font-size:8px;color:#7c2d12;line-height:1.35}.finding{border:1px solid #e7eaee;border-radius:6px;padding:8px;margin:5px 0}.finding-head{display:flex;justify-content:space-between;gap:6px}.finding h4{font-size:9px;margin:4px 0}.finding p{font-size:9px;line-height:1.4;margin:4px 0}.finding small{font-size:8px;color:#667085;display:block;margin-top:2px}.block-title{font-size:10px;margin:9px 0 4px}.bench-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.bench-box{background:#fafbfc;border:1px solid #e7eaee;border-radius:6px;padding:7px}.bench-box span{font-size:8px;color:#667085;display:block}.bench-box b{font-size:9px;display:block;margin-top:3px}.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag{font-size:8px;padding:3px 5px;background:#f0f2f5;border-radius:4px}.route{border:1px solid #98a2b3;border-radius:6px;padding:9px}.route h3{margin:3px 0;font-size:11px}.route p{font-size:9px;color:#475467;margin:0}.actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.market-list{display:grid;border:1px solid #e1e5ea;border-radius:6px;overflow:hidden}.market-row{display:grid;grid-template-columns:26px minmax(0,1fr) 170px;gap:8px;align-items:center;padding:7px 8px;text-decoration:none;background:#fff;border-bottom:1px solid #edf0f2}.market-row:last-child{border-bottom:0}.market-row:hover{background:#f8f9fb}.market-index{font-size:9px;color:#98a2b3;text-align:center}.market-main{min-width:0}.market-main b{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-main span{display:block;color:#667085;font-size:8px;margin-top:2px}.market-main small{display:block;color:#475467;font-size:8px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-price{text-align:right}.market-price b{display:block;font-size:9px}.market-price span{display:block;font-size:8px;color:#667085;margin-top:2px}.source-note,.source-box{font-size:8px;color:#667085;line-height:1.4;padding:6px 8px;background:#fafbfc;border:1px solid #e7eaee;border-top:0}.source-box{border-top:1px solid #e7eaee;border-radius:6px}
.table-wrap{overflow:auto;border:1px solid #e1e5ea;border-radius:6px;max-height:650px}.table{width:100%;border-collapse:collapse;font-size:9px}.table th,.table td{text-align:left;padding:6px 7px;border-bottom:1px solid #edf0f2;vertical-align:top}.table th{background:#f8f9fb;color:#475467;font-size:8px;white-space:nowrap;position:sticky;top:0;z-index:1}.table tr:last-child td{border-bottom:0}.table td{overflow-wrap:anywhere}.filterbar{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 7px}.filterbar .input,.filterbar .select{width:auto;min-width:170px}.run-selector{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-bottom:9px}.empty{padding:24px 12px;text-align:center;color:#667085;font-size:10px}.catalog-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}.tab-btn{border:1px solid #cfd4dc;background:#fff;border-radius:5px;padding:5px 7px;font-size:9px;cursor:pointer}.tab-btn.active{background:#20242b;color:#fff;border-color:#20242b}.config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.config-grid .field input{font-size:9px;padding:6px}.release{display:grid;grid-template-columns:120px 85px 1fr auto;gap:7px;align-items:center;border-top:1px solid #edf0f2;padding:7px 0;font-size:9px}.release:first-child{border-top:0}.index-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.role-note{border:1px solid #d7dce2;border-radius:6px;padding:7px;font-size:9px;color:#475467;margin-bottom:8px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.allowlist-item{border-top:1px solid #edf0f2;padding:7px 0}.allowlist-item:first-child{border-top:0}.allowlist-item label{font-weight:700;font-size:9px;display:block;margin-bottom:4px}.toast{position:fixed;right:16px;bottom:16px;max-width:380px;background:#20242b;color:#fff;border-radius:6px;padding:9px 11px;font-size:10px;z-index:100;box-shadow:0 8px 24px rgba(16,24,40,.18)}
@media(max-width:1250px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pipeline{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{grid-template-columns:repeat(3,1fr)}.config-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.topbar{height:auto;min-height:58px;grid-template-columns:1fr auto;padding:8px 12px}.nav{grid-column:1/-1;grid-row:2;padding-top:4px;border-top:1px solid #edf0f2}.top-user .user-mini{display:none}.page{padding:14px 12px 32px}.grid-2,.admin-grid{grid-template-columns:1fr}.sticky-panel{position:static}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-summary{align-items:flex-start;display:block}.service-summary small{display:block;text-align:left;margin-top:5px}.market-row{grid-template-columns:22px minmax(0,1fr)}.market-price{grid-column:2;text-align:left}}
@media(max-width:560px){.service-grid,.stats,.meta-grid,.config-grid,.index-status,.grid-3,.pipeline,.bench-grid{grid-template-columns:1fr}.page-head{display:block}.page-actions{margin-top:8px}.release{grid-template-columns:1fr 1fr}.release>*:nth-child(3){grid-column:1/-1}.brand span{display:none}.run-selector{grid-template-columns:1fr}.topbar{gap:8px}.market-row{grid-template-columns:20px 1fr}}
/* compact Finanali.Uz shell */
.brand{display:flex;align-items:baseline;gap:10px;min-width:max-content}.brand b{font-size:14px;letter-spacing:-.01em}.brand span{font-size:9px;color:#667085;margin:0}.login-brand{display:block;margin-bottom:20px}.login-brand h1{font-size:24px;letter-spacing:-.025em;margin:0 0 5px}.brand-mark{display:none}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.service-card{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:64px;padding:8px 9px}.service-no{align-self:start;padding-top:2px}.service-main h3,.service-card h3{margin:0 0 3px;font-size:10px}.service-main p,.service-card p{margin:0;font-size:8px;line-height:1.35}.service-footer{margin:0;justify-content:flex-end;align-items:center}.service-footer .pill{display:none}.source-open{font-size:8px;font-weight:600;color:#667085;margin-left:5px;white-space:nowrap}.market-row:hover .source-open{text-decoration:underline;color:#20242b}
@media(max-width:900px){.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:60px minmax(0,1fr) auto}.brand span{display:none}}
@media(max-width:560px){.service-card{grid-template-columns:1fr auto}.service-no{grid-column:1/-1}.service-main{min-width:0}}

/* v12 responsive scale: compact on laptops, readable on 2K/4K */
:root{
  --fz-xxs:clamp(9px,calc(4px + .31vw),12px);
  --fz-xs:clamp(10px,calc(5px + .32vw),13px);
  --fz-sm:clamp(11px,calc(6px + .34vw),14px);
  --fz-md:clamp(13px,calc(7px + .38vw),16px);
  --fz-lg:clamp(18px,calc(9px + .55vw),24px);
}
html,body{font-size:var(--fz-sm)}
.topbar{height:clamp(58px,3.2vw,72px);padding:0 clamp(14px,1.55vw,40px);gap:clamp(12px,1.1vw,26px)}
.brand b{font-size:clamp(15px,calc(8px + .42vw),19px)}
.nav-btn{font-size:var(--fz-xs);padding:clamp(7px,.5vw,10px) clamp(9px,.62vw,14px)}
.user-mini b{font-size:var(--fz-xs);max-width:220px}.user-mini span{font-size:var(--fz-xxs)}
.page{width:100%;max-width:2200px;padding:clamp(14px,1.35vw,34px) clamp(12px,1.8vw,46px) 48px}
.page-head{margin-bottom:clamp(12px,.85vw,20px)}.page-head h1{font-size:var(--fz-lg)}.page-head p{font-size:var(--fz-xs);max-width:1100px}
.eyebrow{font-size:var(--fz-xxs)}
.btn{font-size:var(--fz-xs);padding:clamp(7px,.45vw,10px) clamp(10px,.65vw,15px)}.btn.small{font-size:var(--fz-xxs)}
.input,.select,.textarea{font-size:var(--fz-xs);padding:clamp(8px,.48vw,11px)}.field label{font-size:var(--fz-xs)}
.panel{padding:clamp(11px,.75vw,17px)}.panel-title h2,.panel-title h3{font-size:var(--fz-md)}.panel-title p{font-size:var(--fz-xs)}
.service-summary span,.service-summary small{font-size:var(--fz-xxs)}.service-summary b{font-size:var(--fz-md)}
.stat span{font-size:var(--fz-xxs)}.stat b{font-size:clamp(16px,calc(9px + .5vw),22px)}
.service-card{min-height:clamp(64px,4vw,82px);padding:clamp(8px,.55vw,12px)}
.service-no{font-size:var(--fz-xxs)}.service-main h3,.service-card h3{font-size:var(--fz-xs)}.service-main p,.service-card p{font-size:var(--fz-xxs)}
.dropzone strong{font-size:var(--fz-sm)}.dropzone span,.selected-file{font-size:var(--fz-xs)}
.method-strip b{font-size:var(--fz-xs)}.method-strip span,.privacy{font-size:var(--fz-xxs)}
.status-hero h2{font-size:clamp(16px,calc(8px + .52vw),22px)}.status-hero p{font-size:var(--fz-xs)}
.meta-box span,.bench-box span,.tag{font-size:var(--fz-xxs)}.meta-box b,.bench-box b{font-size:var(--fz-xs)}
.section h3{font-size:var(--fz-md)}.section-head span{font-size:var(--fz-xs)}
.stage b,.gate b,.gate strong,.finding h4,.finding p,.route p{font-size:var(--fz-xs)}
.stage p,.gate span,.finding small,.market-main span,.market-main small,.market-price span,.source-note,.source-box{font-size:var(--fz-xxs)}
.block-title,.route h3,.market-main b,.market-price b{font-size:var(--fz-xs)}
.table{font-size:var(--fz-xs)}.table th{font-size:var(--fz-xxs)}.table th,.table td{padding:clamp(6px,.42vw,10px) clamp(7px,.5vw,12px)}
.empty,.processing,.toast{font-size:var(--fz-xs)}.tab-btn,.release,.role-note,.allowlist-item label{font-size:var(--fz-xs)}
.market-row{grid-template-columns:clamp(26px,1.5vw,36px) minmax(0,1fr) clamp(170px,12vw,260px);padding:clamp(7px,.45vw,11px) clamp(8px,.55vw,13px)}
.grid-2{grid-template-columns:minmax(300px,.56fr) minmax(0,1.75fr);gap:clamp(10px,.72vw,18px)}
.stats{gap:clamp(7px,.5vw,12px)}.pipeline{gap:clamp(5px,.42vw,10px)}
@media(min-width:1800px){
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .pipeline{grid-template-columns:repeat(5,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(6,minmax(0,1fr))}
  .table-wrap{max-height:760px}
}
@media(min-width:2400px){
  .page{max-width:2360px}
  .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pipeline{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:1100px){
  .page{padding:16px 14px 36px}
  .grid-2,.admin-grid{grid-template-columns:1fr}.sticky-panel{position:static}
  .service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:62px minmax(0,1fr) auto}
  .pipeline{grid-template-columns:repeat(3,minmax(0,1fr))}.meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .topbar{height:auto;min-height:58px;grid-template-columns:1fr auto;padding:8px 12px}.nav{grid-column:1/-1;grid-row:2;padding-top:5px;border-top:1px solid #edf0f2}.user-mini{display:none}
  .stats,.meta-grid,.config-grid,.index-status,.grid-3,.pipeline,.bench-grid{grid-template-columns:1fr}
  .service-card{grid-template-columns:1fr auto}.service-no{grid-column:1/-1}.market-row{grid-template-columns:24px minmax(0,1fr)}.market-price{grid-column:2;text-align:left}
  .page-head{display:block}.page-actions{margin-top:8px}.run-selector{grid-template-columns:1fr}
}
.candidate-links{display:flex;flex-wrap:wrap;gap:6px}.candidate-links a{font-size:var(--fz-xs);text-decoration:none;border:1px solid #d7dce2;background:#fff;border-radius:5px;padding:6px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.candidate-links a:hover{background:#f7f8fa;text-decoration:underline}
.report-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.report-value{border:1px solid #e7eaee;border-radius:6px;padding:7px;min-width:0}.report-value span{display:block;font-size:8px;color:#667085}.report-value b{display:block;font-size:9px;margin-top:3px;overflow-wrap:anywhere}@media(max-width:900px){.report-values{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.report-values{grid-template-columns:1fr}}
.benchmark-live{border:1px solid #dfe3e8;border-radius:8px;padding:14px;background:#fff}.benchmark-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.benchmark-live-head h2{margin:3px 0 0;font-size:var(--fz-md)}.benchmark-live-head>b{font-variant-numeric:tabular-nums;font-size:var(--fz-sm);white-space:nowrap}.progress-track{height:7px;background:#eceff2;border-radius:999px;overflow:hidden;margin:12px 0 7px}.progress-fill{height:100%;background:#222;transition:width .45s ease;border-radius:inherit}.benchmark-live-foot{display:flex;justify-content:space-between;gap:10px;font-size:var(--fz-xxs);color:#667085}.benchmark-live p{margin:8px 0 0}

.market-pages{display:flex;gap:12px;align-items:center;justify-content:center;padding:12px 0}.market-main .tiny{display:block;margin-top:5px}.market-price{min-width:120px}

/* v44 unified real-estate workspace */
:root{--surface:#fff;--ink:#171a1f;--sub:#667085;--line:#e0e4e9;--soft:#f7f8fa;--accent:#20242b;--accent-soft:#eef0f3}
html,body{background:#f3f5f7}.app-shell{background:#f3f5f7}
.topbar{box-shadow:0 1px 10px rgba(16,24,40,.035);border-bottom-color:#e6e9ed}.brand-button{border:0;background:transparent;cursor:pointer;padding:0}.brand-sign,.login-logo{display:grid;place-items:center;background:#20242b;color:#fff;font-weight:800}.brand-sign{width:28px;height:28px;border-radius:8px;font-size:12px}.brand b{font-weight:760}.btn,.input,.select,.textarea,.panel,.stat,.status-hero,.finding,.route,.meta-box,.bench-box{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease}.btn:hover{transform:translateY(-1px)}.btn.ghost{background:#fafafa}.panel{border-color:#e1e5ea;box-shadow:0 2px 10px rgba(16,24,40,.025)}
.login-shell{background:#f1f3f5;padding:28px}.login-wrap{width:min(920px,100%);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px;align-items:stretch}.login-intro{border:1px solid #dfe3e8;background:#20242b;color:#fff;border-radius:18px;padding:42px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 50px rgba(16,24,40,.1)}.login-intro .eyebrow{color:#b9c0ca;margin-top:24px}.login-intro h1{font-size:clamp(28px,3vw,46px);letter-spacing:-.035em;line-height:1.04;margin:8px 0 14px;max-width:650px}.login-intro p{color:#c7ccd3;font-size:14px;line-height:1.6;margin:0;max-width:600px}.login-logo{width:44px;height:44px;border-radius:12px;background:#fff;color:#20242b;font-size:18px}.login-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.login-points span{border:1px solid #444a53;border-radius:999px;padding:7px 10px;color:#d5d9df;font-size:11px}.login-card{border-radius:18px;padding:34px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 50px rgba(16,24,40,.06)}.login-brand h2{font-size:24px;margin:0 0 6px;letter-spacing:-.02em}.login-brand p{font-size:12px}.login-submit{margin-top:4px;min-height:42px}
.service-picker{max-width:1050px;margin:7vh auto 0}.picker-head{margin-bottom:22px}.picker-head h1{font-size:clamp(30px,3.1vw,50px);letter-spacing:-.04em;margin:5px 0 10px}.picker-head p{color:#667085;max-width:660px;line-height:1.55}.service-choice{width:100%;border:1px solid #dce1e6;background:#fff;border-radius:18px;padding:24px;display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:22px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 10px 34px rgba(16,24,40,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.service-choice:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(16,24,40,.09);border-color:#b9c0ca}.service-choice-icon{width:64px;height:64px;border-radius:16px;background:#20242b;color:#fff;display:grid;place-items:center;font-size:15px;font-weight:800;letter-spacing:.08em}.service-choice-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#7a8492;font-weight:800}.service-choice h2{font-size:26px;margin:4px 0 7px;letter-spacing:-.025em}.service-choice p{margin:0;color:#667085;line-height:1.5}.service-choice-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.service-choice-meta span{font-size:10px;background:#f2f4f7;border-radius:999px;padding:5px 8px;color:#475467}.service-choice-action{font-weight:750;font-size:12px;background:#f4f5f7;border:1px solid #e1e5ea;border-radius:10px;padding:10px 13px}.picker-user{margin-top:16px;display:flex;align-items:center;gap:9px;color:#667085;font-size:10px}.picker-user b{color:#20242b;font-size:11px}.picker-user small{margin-left:auto}
.workspace-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.4fr);gap:22px;background:#20242b;color:#fff;border-radius:14px;padding:22px 24px;margin-bottom:12px;box-shadow:0 10px 30px rgba(16,24,40,.08)}.workspace-hero h2{font-size:24px;margin:4px 0 8px}.workspace-hero p{margin:0;color:#c8cdd4;line-height:1.55;max-width:850px}.workspace-hero .eyebrow{color:#aeb6c1}.workspace-role{border-left:1px solid #414750;padding-left:20px;display:flex;flex-direction:column;justify-content:center}.workspace-role span,.workspace-role small{color:#aeb6c1;font-size:10px}.workspace-role b{font-size:13px;margin:4px 0 8px}.workspace-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.upload-panel{border-radius:12px}.result-panel{min-height:360px;border-radius:12px}.dropzone{min-height:185px;border-radius:12px;border:1px dashed #b5bdc8;background:#fafbfc;align-content:center;transition:.18s ease}.dropzone:hover,.dropzone.drag{background:#f4f6f8;border-color:#596273}.dropzone.has-file{border-style:solid;border-color:#8994a3;background:#f7f8fa}.upload-mark{width:48px;height:48px;border-radius:13px;background:#eef0f3;color:#344054;display:grid;place-items:center;font-weight:800;font-size:11px;margin-bottom:4px}.rich-empty{min-height:310px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.rich-empty b{font-size:15px;color:#344054}.rich-empty span{max-width:480px;text-align:center;line-height:1.5}.compact-empty{min-height:auto;padding:14px}.recent-panel{margin-top:12px!important;border-radius:12px}.recent-runs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.recent-run{border:1px solid #e4e7ec;background:#fff;border-radius:10px;padding:12px 13px;text-align:left;display:flex;justify-content:space-between;gap:12px;cursor:pointer;transition:.16s ease}.recent-run:hover{border-color:#b8c0ca;background:#fafbfc;transform:translateY(-1px)}.recent-run span,.recent-run small{display:block;font-size:9px;color:#7a8492}.recent-run b{display:block;font-size:11px;margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-status{text-align:right;min-width:120px}.recent-status .pill{margin-bottom:6px}
.history-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.history-search{flex:1}.history-count{color:#667085;font-size:10px;white-space:nowrap}.history-list{display:grid;gap:8px}.history-card{background:#fff;border:1px solid #e0e4e9;border-radius:12px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:18px;align-items:center;box-shadow:0 2px 9px rgba(16,24,40,.022);transition:.16s ease}.history-card:hover{border-color:#c7ced7;box-shadow:0 7px 20px rgba(16,24,40,.05)}.history-top{display:flex;gap:8px;align-items:center;margin-bottom:4px}.history-top>span:first-child{font-size:9px;color:#7a8492}.history-main h3{margin:0;font-size:13px}.history-main p{margin:4px 0 8px;color:#667085;font-size:10px}.history-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.history-meta>span{font-size:9px;color:#667085}.history-value span{display:block;color:#7a8492;font-size:9px}.history-value b{display:block;font-size:12px;margin-top:4px}.archive-banner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:8px}.archive-banner>div{background:#fff;border:1px solid #e1e5ea;border-radius:9px;padding:10px}.archive-banner span{display:block;font-size:9px;color:#7a8492}.archive-banner b{display:block;font-size:10px;margin-top:4px;overflow-wrap:anywhere}.archive-actions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.archive-result{border-radius:12px}.archive-details{margin-top:16px;border:1px solid #e4e7ec;border-radius:9px;overflow:hidden}.archive-details summary{cursor:pointer;padding:11px 12px;font-weight:700;font-size:10px;background:#fafbfc;display:flex;justify-content:space-between}.archive-details summary span{color:#667085}.archive-facts{max-height:520px;border-top:1px solid #e4e7ec}.archive-facts td:last-child{max-width:760px;overflow-wrap:anywhere}
@media(max-width:900px){.login-wrap{grid-template-columns:1fr}.login-intro{padding:28px}.service-choice{grid-template-columns:56px minmax(0,1fr)}.service-choice-icon{width:52px;height:52px}.service-choice-action{grid-column:2}.workspace-hero{grid-template-columns:1fr}.workspace-role{border-left:0;border-top:1px solid #414750;padding:14px 0 0}.workspace-stats{grid-template-columns:repeat(2,1fr)}.recent-runs{grid-template-columns:1fr}.history-card{grid-template-columns:1fr auto}.history-value{grid-column:1}.archive-banner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.login-shell{padding:12px}.login-intro{padding:22px;border-radius:14px}.login-card{padding:22px;border-radius:14px}.service-picker{margin-top:20px}.service-choice{padding:16px;gap:12px;border-radius:14px}.service-choice h2{font-size:21px}.service-choice-meta{display:none}.workspace-hero{padding:18px;border-radius:12px}.workspace-stats,.archive-banner{grid-template-columns:1fr}.history-card{grid-template-columns:1fr}.history-card>.btn{width:100%}.history-toolbar{display:block}.history-count{margin-top:7px}.picker-user{display:grid;grid-template-columns:auto 1fr}.picker-user small{margin-left:0;grid-column:1/-1}}

/* v45 — clean product UI */
.brand-sign,.login-logo,.login-intro,.login-points,.login-note,.picker-head,.picker-user,.service-choice-icon,.service-choice-kicker,.service-choice-meta,.workspace-hero,.workspace-role{display:none!important}
html,body{min-width:0;overflow-x:hidden;background:#f5f6f8;color:#171a1f}
button,input,select,textarea{font:inherit}
.topbar{min-height:64px;height:auto;grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto;gap:20px;padding:10px 24px;background:rgba(255,255,255,.98)}
.brand{gap:0}.brand-button{display:flex;align-items:center;min-height:36px}.brand-wordmark{font-size:18px!important;line-height:1;letter-spacing:-.025em;font-weight:780!important;color:#171a1f;white-space:nowrap}
.nav{justify-content:flex-start;gap:4px}.nav-btn{font-size:11px;padding:8px 10px;border-radius:8px}.nav-btn.active{background:#f0f2f5}.top-user{min-width:0}.user-mini b{font-size:11px;max-width:210px}.user-mini span{font-size:9px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page{width:min(1440px,100%);padding:28px 28px 48px}.page-head{align-items:flex-end;margin-bottom:18px}.page-head h1{letter-spacing:-.035em}.page-head>div>p:empty{display:none}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f6f8}.login-card-single{width:min(410px,100%);padding:34px;background:#fff;border:1px solid #e1e5ea;border-radius:16px;box-shadow:0 20px 55px rgba(16,24,40,.08)}.login-wordmark{font-size:20px;font-weight:800;letter-spacing:-.03em;margin-bottom:38px}.login-brand h1{font-size:28px;line-height:1.08;margin:0 0 6px;letter-spacing:-.035em}.login-brand p{margin:0 0 24px;color:#667085;font-size:12px}.login-card-single .field label{font-size:11px}.login-card-single .input{min-height:44px;font-size:13px}.login-submit{min-height:44px;margin-top:8px}
.service-picker-single{width:min(880px,100%);margin:clamp(80px,18vh,190px) auto 0}.service-choice-single{width:100%;min-height:150px;padding:30px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:18px;background:#fff;border:1px solid #dde2e8;box-shadow:0 14px 40px rgba(16,24,40,.055);text-align:left}.service-choice-single:hover{transform:translateY(-2px);border-color:#b9c1cb;box-shadow:0 20px 48px rgba(16,24,40,.08)}.service-choice-single h1{margin:0;font-size:clamp(28px,4vw,42px);letter-spacing:-.045em;line-height:1}.service-choice-single .service-choice-action{flex:0 0 auto;background:#171a1f;color:#fff;border:0;border-radius:10px;padding:11px 16px;font-size:11px}
.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 14px}.workspace-heading h2{font-size:22px;letter-spacing:-.025em;margin:4px 0 5px}.workspace-heading p{margin:0;color:#667085;font-size:11px}.workspace-stats{margin-bottom:12px}.workspace-grid{align-items:start}.upload-panel,.result-panel,.recent-panel{border-radius:14px}.upload-panel{position:static!important;top:auto!important}.dropzone{min-height:210px;padding:24px}.result-panel{min-height:410px}.rich-empty{min-height:360px}.recent-panel{margin-top:12px!important}.recent-panel .panel-title{margin-bottom:12px}
.history-card{min-width:0}.history-main,.history-value{min-width:0}.history-main h3,.history-main p,.history-value b{overflow-wrap:anywhere}.archive-banner>div{min-width:0}.archive-actions a{white-space:nowrap}
.table-wrap{max-width:100%;overflow:auto}.table{min-width:720px}.admin-grid,.grid-2,.stats,.archive-banner,.recent-runs{min-width:0}.panel{min-width:0}
@media(max-width:980px){.topbar{grid-template-columns:minmax(140px,1fr) auto;gap:10px;padding:9px 16px}.nav{grid-column:1/-1;grid-row:2;overflow:auto;padding-top:7px;border-top:1px solid #edf0f2}.top-user{grid-column:2;grid-row:1}.page{padding:22px 18px 40px}.workspace-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}.result-panel{min-height:340px}.rich-empty{min-height:290px}}
@media(max-width:620px){.topbar{padding:10px 12px}.brand-wordmark{font-size:16px!important}.user-mini{display:none}.top-user{gap:6px}.top-user .btn{padding:7px 9px}.nav{gap:2px}.nav-btn{font-size:10px;padding:7px 8px}.page{padding:18px 12px 34px}.page-head{align-items:flex-start;gap:10px}.page-head h1{font-size:24px}.page-actions{width:auto}.service-picker-single{margin:64px auto 0}.service-choice-single{min-height:118px;padding:22px 20px;border-radius:14px}.service-choice-single h1{font-size:28px}.service-choice-single .service-choice-action{padding:9px 11px}.workspace-heading{align-items:flex-start}.workspace-stats{grid-template-columns:1fr 1fr}.stat{min-width:0}.dropzone{min-height:180px;padding:18px}.recent-runs{grid-template-columns:1fr}.recent-run{display:grid;grid-template-columns:minmax(0,1fr) auto}.recent-status{min-width:0}.history-card{grid-template-columns:1fr!important;gap:10px}.history-card>.btn{width:100%}.archive-banner{grid-template-columns:1fr}.archive-actions{display:grid;grid-template-columns:1fr}.archive-actions .btn{text-align:center}.login-shell{padding:14px}.login-card-single{padding:26px 22px;border-radius:14px}.login-wordmark{margin-bottom:32px}}
.service-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:980px;margin:48px auto}.service-choice{min-height:190px;border:1px solid var(--line,#dfe3e8);background:#fff;border-radius:22px;padding:28px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.service-choice:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(25,34,48,.08);border-color:#b9c3cf}.service-choice-main h1{margin:0 0 10px;font-size:28px}.service-choice-main p{margin:0;color:var(--muted,#667085);line-height:1.5}.service-choice-action{font-weight:700;margin-top:24px}.bp-list{display:flex;flex-direction:column;gap:10px}@media(max-width:760px){.service-picker{grid-template-columns:1fr;margin:24px auto}.service-choice{min-height:150px;padding:22px}}

/* v50: explicit service entitlements and phone profile */
.grant-list{display:flex;flex-direction:column;gap:.4rem;min-width:155px;margin:8px 0}.grant-check{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;cursor:pointer}.grant-check input{accent-color:#202e4e;width:17px;height:17px}.admin-grid .panel,.panel{min-width:0}.table-wrap{overflow-x:auto}@media(max-width:760px){.admin-grid{display:block}.admin-grid>.panel{margin-bottom:16px}.grant-list{min-width:140px}.topbar{flex-wrap:wrap;gap:10px}.nav{overflow-x:auto;width:100%}}
