/* Shared density system. Scoped to DotRally's own application shell. */
:root{--rally-rail:224px;--dr-radius:11px;--dr-gap:14px}
html body.rally-unified{font-size:14px;line-height:1.5;background-color:var(--bg,#f7f8fc)}
html body.rally-unified h1{font-size:clamp(24px,2.3vw,30px)!important;line-height:1.22!important;letter-spacing:-.65px;margin:8px 0 10px!important}
html body.rally-unified h2{font-size:20px;line-height:1.3;letter-spacing:-.35px}html body.rally-unified h3{font-size:15px;line-height:1.4}
html body.rally-unified p{line-height:1.55}html body.rally-unified .intro{font-size:14px;margin:0 0 18px!important;max-width:760px}
html body.rally-unified>main,html body.rally-unified .workspace>main{padding:24px 28px 20px!important}html body.rally-unified main.wide{padding:24px 28px!important}
html body.rally-unified .page-heading{margin-bottom:18px!important;padding-top:8px!important}html body.rally-unified .page-heading p{font-size:12px}
html body.rally-unified .site-header,html body.rally-unified .site-header .topbar{min-height:64px!important;height:64px!important}html body.rally-unified>header{min-height:64px!important;height:auto;gap:12px;padding-top:10px;padding-bottom:10px}
html body.rally-unified .site-header .topbar{padding-top:8px!important;padding-bottom:8px!important}
#rally-navigation{padding:0!important;min-height:0!important}#rally-navigation .rally-brand{height:64px;min-height:64px;padding:0 20px}#rally-navigation .rally-brand img{width:156px;height:auto;max-width:156px}
#rally-navigation .rally-nav-scroll{padding:12px 9px 18px;gap:0!important}#rally-navigation .rally-nav-group{margin-bottom:7px!important}#rally-navigation .rally-nav-group>summary{padding:10px 10px 5px;min-height:29px;font-size:9px;letter-spacing:.09em}
#rally-navigation .rally-link{min-height:35px;padding:8px 10px;margin:1px 0;gap:8px;font-size:12px;border-radius:7px;font-weight:550}#rally-navigation .rally-link>svg{width:16px;height:16px}#rally-navigation .rally-link small{font-size:8px;padding:2px 3px}#rally-navigation .rally-market{font-size:13px;font-weight:750;margin-bottom:9px}#rally-navigation .rally-nav-bottom{padding-top:15px}
html body.rally-unified .card,html body.rally-unified .panel,html body.rally-unified .domain-card{border-radius:var(--dr-radius)!important;padding:18px!important;box-shadow:none!important;margin-bottom:14px}
html body.rally-unified .panel-head{gap:12px;margin-bottom:12px}html body.rally-unified .panel-head p{margin:5px 0 8px;font-size:13px}
html body.rally-unified .fields,html body.rally-unified .form-grid{gap:12px}html body.rally-unified .fields{margin:14px 0}
html body.rally-unified main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select){min-height:38px;padding:8px 11px;border-radius:8px;font-size:13px}
html body.rally-unified main textarea{min-height:90px;padding:10px 12px;border-radius:8px;font-size:13px}
html body.rally-unified main button{min-height:36px;padding:8px 13px;border-radius:8px;font-size:12px}html body.rally-unified label{font-size:12px;line-height:1.5}
html body.rally-unified .actions{gap:8px;margin:12px 0}html body.rally-unified .notice{padding:10px 12px;font-size:11px;margin:12px 0;border-radius:8px}
html body.rally-unified th,html body.rally-unified td{padding:10px 11px;font-size:12px}html body.rally-unified th{font-size:10px;letter-spacing:.02em}
html body.rally-unified .empty{padding:22px;margin:12px 0;border-radius:9px}html body.rally-unified .stat{padding:14px;border-radius:10px}html body.rally-unified .stat strong{font-size:24px}
html body.rally-unified .stats,html body.rally-unified .metrics{gap:12px}html body.rally-unified .metric{padding:16px;border-radius:11px}
html body.rally-unified footer{padding-top:20px;padding-bottom:14px;gap:14px;font-size:11px}
html body.rally-unified .drv-dash.dv2 .dd2{padding:20px 24px;gap:20px}html body.rally-unified .drv-dash.dv2{border-radius:14px!important;box-shadow:none!important;margin-bottom:16px}
html body.rally-unified .drv-dash.dv2 h2{font-size:25px!important;line-height:1.18}html body.rally-unified .drv-dash.dv2 .sub{font-size:13px;line-height:1.55;max-width:460px}
html body.rally-unified .drv-dash.dv2 .side{min-height:140px}html body.rally-unified .drv-dash.dv2 .drv-globe{max-width:155px!important;width:155px!important}html body.rally-unified .drv-dash.dv2 .slogan{font-size:16px;max-width:190px}
html body.rally-unified .drv-dash.dv2 .dd-act{margin-top:14px}html body.rally-unified .drv-dash.dv2 .dd-b{min-height:37px;font-size:12px;padding:9px 14px}
html body.rally-unified .drp-search,html body.rally-unified .drp-tools{padding:17px;margin:16px 0;border-radius:12px}html body.rally-unified .drp-section-head h2{font-size:19px!important;margin:4px 0 14px!important}
html body.rally-unified .drp-eyebrow{font-size:9px}.drp-tool-grid>a{padding:14px;border-radius:9px}.drp-tool-grid h3{font-size:14px;margin:11px 0 7px}.drp-tool-grid p{font-size:12px}.drp-value{margin-top:16px;padding-top:16px}
html body.rally-unified .gl-c{min-height:82px!important;padding:13px 15px!important;border-radius:11px!important}html body.rally-unified .gl-c b{font-size:23px!important}.gl-c .gl-ic{width:26px!important;height:26px!important}.gl-tabs button,.gl-tabs a{padding:8px 13px!important;font-size:12px!important}
html body.rally-unified .dr-sec{margin-top:21px}html body.rally-unified .dr-sec h2{font-size:20px!important}html body.rally-unified .dr-card{padding:14px!important;border-radius:11px!important;box-shadow:none!important}html body.rally-unified .dr-card h3{font-size:16px!important}.dr-offer{font-size:12px!important;min-height:34px!important}.dr-tag{font-size:10px!important}
html body.rally-unified .bf-hero{padding:20px 22px;border-radius:13px}html body.rally-unified .bf-hero h2{font-size:24px!important;margin-bottom:7px}html body.rally-unified .bf-hero>p{font-size:13px;max-width:680px;margin-bottom:14px}
html body.rally-unified .bf-form{gap:9px}.bf-ex{gap:6px;margin-top:10px}.bf-ex button{font-size:11px!important;padding:4px 10px!important;min-height:28px!important}
html body.rally-unified .bf-form input{font-size:14px;padding:10px 12px;min-height:40px}.bf-form button{font-size:13px!important;padding:10px 18px!important;min-height:40px!important}.bf-res{gap:14px}
html body.rally-unified #ng2 .ngx-bar #n2-k,html body.rally-unified #ng2 .ngx-bar #n2-go{height:44px;min-height:44px;font-size:14px;border-radius:10px;padding-top:9px;padding-bottom:9px;box-shadow:none}
html body.rally-unified #ng2 .ddrow{margin-top:14px;padding-top:14px}html body.rally-unified #ng2 .ddb,html body.rally-unified #ng2 select.sel{padding:9px 11px;border-radius:8px;font-size:12px;min-height:37px}
html body.rally-unified #ng2 .ngx-rh{margin:21px 0 10px}html body.rally-unified #ng2 .nc{padding:12px 16px}html body.rally-unified #ng2 .nc b{font-size:18px}html body.rally-unified #ng2 .out:empty{padding:30px 16px}
html body.rally-unified .plans{gap:14px}html body.rally-unified .plans .price{font-size:30px}.plans li{margin-bottom:7px}.trust{padding:20px!important;border-radius:12px!important;margin-bottom:18px!important}.trust h2{font-size:21px!important}
.bfp-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;background:var(--card,var(--surface,#fff));border:1px solid var(--line,#e1e6ef);border-radius:11px}.bfp-summary h3{font-size:22px!important;margin:5px 0}.bfp-summary p{margin:0;font-size:12px;color:var(--muted,#657087)}.bfp-kicker{font-size:9px;font-weight:750;letter-spacing:.11em;color:var(--blue,#315bf4)}.bfp-fit{text-align:center;flex:none}.bfp-fit strong{display:block;font-size:28px;line-height:1.2}.bfp-fit small{font-size:13px;font-weight:500;color:var(--muted,#657087)}.bfp-fit>span{font-size:10px;color:var(--muted,#657087)}
.bfp-status,.bfp-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bfp-status span{border:1px solid var(--line,#e1e6ef);background:var(--card,var(--surface,#fff));padding:5px 8px;border-radius:6px;font-size:10px;color:var(--muted,#657087)}.bfp-note{font-size:11px;color:var(--muted,#657087);margin:0}.bfp-warning{font-size:12px;padding:9px 12px;border:1px solid #eac590;background:#fff6e6;color:#805512;border-radius:8px}.bfp-audiences{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.bfp-audiences article,.bfp-verification,.bfp-draft,.bfp-library{background:var(--card,var(--surface,#fff));border:1px solid var(--line,#e1e6ef);padding:17px;border-radius:11px}.bfp-audiences article{display:flex;flex-direction:column;gap:10px}.bfp-audiences h3{margin:0}.bfp-audiences p{font-size:12px;margin:0;color:var(--muted,#657087)}.bfp-evidence{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--line,#e1e6ef);font-size:11px}.bfp-evidence span{color:var(--muted,#657087)}.bfp-audiences .bfp-actions{margin-top:auto}.bfp-actions a{display:inline-flex;align-items:center;min-height:36px;border:1px solid var(--line,#e1e6ef);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--blue,#315bf4);text-decoration:none}.bfp-verification ol{margin:10px 0 0;padding-inline-start:20px;font-size:12px;color:var(--muted,#657087)}.bfp-verification li{margin:5px 0}.bfp-draft>p{font-size:12px;color:var(--muted,#657087)}.bfp-draft textarea{display:block;width:100%;margin:8px 0 12px;min-height:205px!important}.bfp-saved-row{display:flex!important;width:100%;justify-content:space-between;gap:12px;border:0!important;border-bottom:1px solid var(--line,#e1e6ef)!important;border-radius:0!important;text-align:start;margin-top:5px;padding:12px 0!important}.bfp-saved-row>span{font-size:11px;color:var(--muted,#657087)}
.dw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 14px}.dw-stats>div{border:1px solid var(--line,#e1e6ef);border-radius:9px;padding:13px 15px}.dw-stats span{display:block;font-size:11px;color:var(--muted,#657087)}.dw-stats b{display:block;font-size:23px;margin-top:4px}.dw-filters{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.dw-filters input,.dw-filters select{width:100%;display:block;margin-top:5px}.dw-stage{display:inline-block;font-size:10px;padding:3px 7px;border:1px solid var(--line,#e1e6ef);border-radius:5px;white-space:nowrap}.dw-due{color:#b15c21!important}.dw-actions{display:flex;gap:6px}.dw-empty{padding:18px;border:1px dashed var(--line,#e1e6ef);border-radius:8px;color:var(--muted,#657087);font-size:12px}#dw-dialog{max-width:580px;width:calc(100% - 28px);border:1px solid var(--line,#e1e6ef);border-radius:13px;padding:22px;background:var(--surface,#fff);color:var(--ink,#14213d)}#dw-dialog::backdrop{background:#101a3690}#dw-dialog label{display:block}#dw-dialog input,#dw-dialog select{width:100%;padding:10px;margin-top:5px;border:1px solid var(--line,#e1e6ef);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit}#dw-dialog .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}#dw-dialog .actions{display:flex;gap:8px;margin-top:17px}#dw-dialog button{padding:9px 13px;border-radius:8px;border:1px solid var(--line,#e1e6ef);cursor:pointer;background:var(--surface,#fff);color:inherit}.dw-dialog-head{display:flex;align-items:center;justify-content:space-between}.dw-dialog-head h2{margin:0;font-size:20px}#dw-error{font-size:12px;color:#b24141}
@media(min-width:901px){html body.rally-unified .bf-form{max-width:850px}.rally-unified main .bf-form button{white-space:nowrap}.rally-unified .dr-grid{gap:12px}}
@media(max-width:900px){html body.rally-unified>main,html body.rally-unified .workspace>main,html body.rally-unified main.wide{padding:20px 18px!important}#rally-navigation .rally-brand{padding-inline-start:64px}#rally-navigation .rally-link{min-height:42px;font-size:13px}#rally-navigation .rally-nav-group>summary{min-height:39px}.rally-unified #rally-navigation{width:min(280px,86vw)}}
@media(max-width:600px){html body.rally-unified h1{font-size:24px!important}html body.rally-unified main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){font-size:16px;min-height:44px}html body.rally-unified main button{min-height:42px;font-size:13px}.bfp-audiences{grid-template-columns:1fr}.bfp-summary{padding:15px;gap:12px}.bfp-summary h3{font-size:19px!important}.bfp-fit strong{font-size:24px}.dw-stats{gap:7px}.dw-stats>div{padding:10px}.dw-stats b{font-size:19px}.dw-filters{grid-template-columns:1fr}.bfp-saved-row{flex-wrap:wrap}.bfp-status{gap:5px}html body.rally-unified .drv-dash.dv2 .dd2{padding:18px}.drv-dash.dv2 .side{display:none!important}html body.rally-unified .bf-hero{padding:18px}.bf-form button{width:100%}#dw-dialog .fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html body.rally-unified *{scroll-behavior:auto!important}}
html[dir="rtl"] body.rally-unified h1,html[dir="rtl"] body.rally-unified h2{letter-spacing:0!important}@media(max-width:600px){html body.rally-unified .bf-ex button,#dw-dialog button{min-height:44px!important}}
.valuation-hero{display:block!important;padding:24px!important;max-width:1100px;margin:0 auto 16px}.valuation-hero textarea{min-height:88px!important;height:88px}.valuation-report{max-width:1100px;margin:0 auto 18px!important}.valuation-heading{padding-bottom:14px!important}.valuation-score strong{font-size:38px!important}.valuation-single-price{padding:20px!important;border-radius:10px!important;background:var(--surface,#f5f8fc)!important}.valuation-single-price strong{font-size:34px!important}.valuation-factor{padding:10px 0!important}.valuation-factor meter{height:6px!important;width:100%}.valuation-evidence{padding:14px!important}.valuation-report .research-grid{gap:24px!important;margin-top:20px}.valuation-report .method-json{max-height:220px;overflow:auto}.valuation-hero .eyebrow{font-size:10px!important;letter-spacing:1.8px!important}@media print{#rally-navigation,header,.topbar,#rally-menu-toggle,.valuation-hero,footer,.section-head button{display:none!important}body.rally-unified main{margin:0!important;padding:0!important}.valuation-report{break-inside:avoid;box-shadow:none!important;border:1px solid #ddd!important}.valuation-report button{display:none!important}}
html body.rally-unified #appraisalResults>.section-head{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;margin:0 auto 16px;max-width:1100px}html body.rally-unified #appraisalResults>.section-head h2{font-size:18px!important;margin-right:auto}html body.rally-unified .valuation-report{display:block!important;gap:0!important}html body.rally-unified .valuation-report .research-name{font-size:32px!important;line-height:1.2!important}html body.rally-unified .valuation-heading{min-height:0!important;margin-bottom:16px!important}html body.rally-unified .valuation-single-price,html body.rally-unified .valuation-single-price *{color:var(--text,#15243e)!important;opacity:1!important}html body.rally-unified .valuation-single-price{margin:0!important;min-height:0!important}.valuation-report .research-grid>div{min-width:0}.valuation-report .valuation-score{width:108px!important;height:108px!important}.valuation-report .valuation-score strong{font-size:30px!important}#rally-feedback label{display:grid;gap:6px;margin:14px 0}#rally-feedback textarea{width:100%;padding:12px;border:1px solid var(--border,#d6dfeb);border-radius:9px;resize:vertical;font:inherit}@media(max-width:600px){html body.rally-unified .valuation-report .research-name{font-size:25px!important}.valuation-report .valuation-score{width:88px!important;height:88px!important}html body.rally-unified .valuation-single-price{display:block!important}}
.iw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 24px}.iw-grid>a.card{display:block!important;text-decoration:none;color:var(--text,#15243e);padding:16px!important;border:1px solid var(--border,#dce3ed);border-radius:10px;background:var(--card,#fff);transition:border-color .15s}.iw-grid>a.card:hover{border-color:#4865ef}.iw-grid h3{margin:0 0 7px!important;font-size:16px!important}.iw-grid p{color:var(--muted,#617087);font-size:13px;line-height:1.5;margin:0 0 12px}.iw-grid span{color:#3155dc;font-size:12px;font-weight:700}#panel:has(.iw-grid) .stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0}@media(max-width:700px){.iw-grid{grid-template-columns:1fr}#panel:has(.iw-grid) .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body.rally-menu-open #rally-navigation .rally-brand{padding-left:58px!important;justify-content:flex-start!important}body.rally-menu-open #rally-navigation .rally-brand img{max-width:170px!important}}
