/* estb.css (v62): estimate builder section of the estimating page. Builds on atelier.css (cp-*). */
#builder .eb-app{margin-top:12px}
.eb-app .eb-tabs .cp-tg{flex-wrap:wrap}
.eb-app .eb-big{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;margin:4px 0 12px}
.eb-app .eb-big.one{grid-template-columns:1fr}
.eb-app .eb-big>div{border:1px solid var(--line,#ddd);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;background:var(--surface,#fff)}
.eb-app .eb-big>div.mid{border-color:var(--accent,#6b2d5c);box-shadow:0 0 0 1px var(--accent,#6b2d5c) inset}
.eb-app .eb-big span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#666)}
.eb-app .eb-big b{font-size:clamp(1rem,1.7vw,1.3rem);font-variant-numeric:tabular-nums;white-space:nowrap}
.eb-app .eb-big .mid b{font-size:clamp(1.15rem,2.1vw,1.6rem)}
.eb-app .eb-big small{color:var(--muted,#666)}
@media (max-width:640px){.eb-app .eb-big{grid-template-columns:1fr}}
.eb-app .eb-bars{display:flex;flex-direction:column;gap:6px}
.eb-app .eb-bar{display:grid;grid-template-columns:minmax(120px,1.1fr) 2fr auto;gap:8px;align-items:center;font-size:.86rem}
.eb-app .eb-bar i{height:10px;border-radius:6px;background:color-mix(in srgb,var(--accent,#6b2d5c) 10%,transparent);overflow:hidden}
.eb-app .eb-bar i b{display:block;height:100%;background:var(--accent,#6b2d5c);border-radius:6px}
.eb-app .eb-bar em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--muted,#555);white-space:nowrap}
@media (max-width:640px){.eb-app .eb-bar{grid-template-columns:1fr 1fr}.eb-app .eb-bar em{grid-column:1/-1}}
.eb-app .eb-svg{width:100%;height:auto;display:block;color:var(--ink,#222)}
.eb-app .eb-conds{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px}
.eb-app .eb-conds .cp-chk{display:flex!important;align-items:flex-start;gap:8px;font-size:.88rem;line-height:1.3}
.eb-app .eb-conds .cp-chk input{margin-top:2px;flex:none}
.eb-app .eb-search input{width:100%;font-size:1rem}
.eb-app .eb-results{display:flex;flex-direction:column;gap:4px;max-height:360px;overflow:auto;margin:6px 0 10px}
.eb-app .eb-hit{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line,#ddd);background:var(--surface,#fff);border-radius:9px;padding:6px 10px;cursor:pointer;font:inherit;color:inherit}
.eb-app .eb-hit:hover,.eb-app .eb-hit:focus{border-color:var(--accent,#6b2d5c)}
.eb-app .eb-hit b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.eb-app .eb-hit em{font-style:normal;color:var(--accent,#6b2d5c);font-weight:600}
@media (max-width:640px){.eb-app .eb-hit{grid-template-columns:auto 1fr}.eb-app .eb-hit b,.eb-app .eb-hit em{grid-column:2}}
.eb-app .eb-tag{display:inline-block;font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:2px 6px;border-radius:5px;margin-right:6px;vertical-align:middle;background:#e8eef6;color:#2f6fa3}
.eb-app .eb-tag.eb-asm{background:#efe7f3;color:#6b2d5c}.eb-app .eb-tag.eb-my{background:#e7f3ea;color:#2e6b3f}.eb-app .eb-tag.eb-ps{background:#fbeedd;color:#9a5414}
.eb-app .eb-add .cp-row{flex-wrap:wrap;gap:6px;align-items:flex-start}
.eb-app .eb-paste textarea{width:100%;min-width:260px;margin:6px 0}
.eb-app .eb-tab td{vertical-align:top}
.eb-app .eb-tab input{font:inherit;font-size:.86rem;padding:3px 5px;border:1px solid var(--line,#ddd);border-radius:6px;background:var(--surface,#fff);color:inherit}
.eb-app .eb-tab .eb-d{width:min(380px,58vw)}
.eb-app .eb-meta{display:flex;gap:8px;align-items:center;margin-top:3px;font-size:.74rem;color:var(--muted,#666)}
.eb-app .eb-meta label{display:inline-flex;gap:4px;align-items:center}
.eb-app .eb-tab .eb-meta .eb-g{width:150px;font-size:.74rem;padding:1px 4px}.eb-app .eb-tab .eb-qx{width:110px}.eb-app .eb-tab .eb-u{width:60px}.eb-app .eb-tab .eb-r{width:96px}
.eb-app .eb-tab .eb-qx.bad{border-color:#a33224;background:#fdecea}
.eb-app .eb-tab .eb-r.over{border-color:#c46b1c}
.eb-app .eb-tab small{display:block;color:var(--muted,#666);font-size:.74rem}
.eb-app .eb-tab .num,.eb-app .cp-tab .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.eb-app tr.eb-sec th,.eb-app tr.eb-sec td{background:color-mix(in srgb,var(--accent,#6b2d5c) 8%,transparent);font-weight:700}
.eb-app tr.eb-note input{font-style:italic}
.eb-app .eb-mv{display:inline-flex;gap:2px;white-space:nowrap}
.eb-app .eb-mv button,.eb-app .eb-x{border:1px solid var(--line,#ddd);background:none;border-radius:5px;padding:1px 6px;cursor:pointer;color:inherit;font:inherit;font-size:.8rem}
.eb-app .eb-sub{width:100%;font-size:.8rem}.eb-app .eb-sub td{padding:2px 6px;color:var(--muted,#555)}
.eb-app .eb-sumt tr.eb-tot td{font-weight:700;border-top:2px solid var(--ink,#222)}
.eb-app .eb-mk .cp-in{max-width:160px}
.eb-ov{position:fixed;inset:0;z-index:2000;background:rgba(20,20,26,.55);display:flex;flex-direction:column}
.eb-ovbar{display:flex;gap:8px;align-items:center;padding:10px 14px;background:var(--surface,#fff);border-bottom:1px solid var(--line,#ddd);flex-wrap:wrap}
.eb-ovbody{overflow:auto;padding:24px 12px;flex:1}
.eb-doc{max-width:820px;margin:0 auto;background:#fff;color:#222;padding:40px 44px;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.25);font:14px/1.5 system-ui,sans-serif}
.eb-doc h1{margin:.2em 0 .3em;font-size:1.7rem}.eb-doc h2{font-size:1.02rem;margin:1.6em 0 .5em;border-bottom:1px solid #ccc;padding-bottom:3px}
.eb-doc table{width:100%;border-collapse:collapse}.eb-doc td,.eb-doc th{padding:4px 6px;border-bottom:1px solid #eee;text-align:left}.eb-doc .num{text-align:right;font-variant-numeric:tabular-nums}
.eb-doc tr.tot td{font-weight:700}.eb-doc tr.grp td{font-weight:700;background:#f4f2f6}
.eb-doc .sig{display:flex;gap:40px;margin-top:48px}.eb-doc .sig div{flex:1;border-top:1px solid #333;padding-top:4px;font-size:12px}
.eb-doc .eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:#777;margin:0}
@media (max-width:640px){.eb-doc{padding:22px 16px}}
@media print{body.eb-printing>*:not(#eb-ov){display:none!important}body.eb-printing .eb-ov{position:static;background:none}body.eb-printing .eb-ovbar,body.eb-printing .eb-noprint{display:none!important}body.eb-printing .eb-ovbody{padding:0;overflow:visible}body.eb-printing .eb-doc{box-shadow:none;padding:0;max-width:none}}
