/* Business skill tree V2: scoped to the content include. */
.bt-map{--bt-lime:var(--color-primary,#a3ff12);--bt-ink:#13221b;--bt-muted:#65736b;width:min(1480px,calc(100% - 48px));margin:70px auto;color:var(--bt-ink);scroll-margin-top:110px;font-family:inherit}
.bt-map *{box-sizing:border-box}.bt-map [hidden]{display:none!important}.bt-map h2,.bt-map h3,.bt-map p{margin:0}.bt-map button,.bt-map input{font:inherit}.bt-map button{cursor:pointer}.bt-map button:disabled{cursor:not-allowed;opacity:.55}.bt-map button:focus-visible,.bt-map input:focus-visible,.bt-viewport:focus-visible{outline:3px solid #5b8a35;outline-offset:4px}
.bt-heading{display:flex;align-items:center;justify-content:space-between;gap:32px}.bt-map .bt-eyebrow{font-size:.7rem;letter-spacing:.14em;font-weight:850;color:#547347;margin-bottom:14px}.bt-heading h2{font-family:var(--font-heading,inherit);font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.08;letter-spacing:-.05em}.bt-heading p:not(.bt-eyebrow){margin-top:16px;color:var(--bt-muted);line-height:1.7}
.bt-map .bt-primary{padding:14px 22px;min-height:48px;border:0;border-radius:10px;background:var(--bt-lime);color:#17220d;font-weight:800;font-size:.9rem}.bt-heading>.bt-primary{flex-shrink:0}.bt-primary span{margin-left:20px}
.bt-dashboard{display:flex;align-items:center;gap:28px;margin-top:32px;padding:20px 24px;border:1px solid #dce3db;border-radius:14px;background:#fff}.bt-dashboard p{font-size:.85rem;font-weight:750;white-space:nowrap}.bt-dashboard progress{appearance:none;width:100%;height:5px;border:0;border-radius:8px;overflow:hidden;accent-color:#729c44;background:#e7ece2}.bt-dashboard progress::-webkit-progress-bar{background:#e7ece2}.bt-dashboard progress::-webkit-progress-value{background:#729c44}.bt-dashboard progress::-moz-progress-bar{background:#729c44}
.bt-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0;flex-wrap:wrap}.bt-legend,.bt-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:.75rem;color:#647268}.bt-legend span{display:inline-flex;align-items:center;gap:8px}.bt-legend img{object-fit:contain;padding:2px;border:1px solid #cfdac7;border-radius:5px;background:white}.bt-legend .bt-ready-label{color:#47702b;font-weight:750}.bt-controls label{display:flex;align-items:center;gap:8px;cursor:pointer}.bt-controls input{accent-color:#5b8438;width:16px;height:16px}.bt-controls button{background:none;border:0;padding:8px;color:#526047;text-decoration:underline;text-underline-offset:3px}
.bt-map .bt-hint{font-size:.78rem;line-height:1.6;color:var(--bt-muted);margin:14px 0}.bt-viewport{overflow:auto;max-height:650px;min-height:300px;border:1px solid #d2dcd2;border-radius:18px;background-color:#f0f4ed;background-image:radial-gradient(#bdcbbd .8px,transparent .8px);background-size:18px 18px;scrollbar-color:#a7b59f #e9efe4;overscroll-behavior:contain}.bt-tree{position:relative;isolation:isolate;display:flex;gap:76px;align-items:flex-start;width:max-content;min-width:100%;padding:32px}.bt-column{display:flex;flex-direction:column;gap:18px;width:226px;flex:0 0 226px}.bt-map .bt-level{font:700 .65rem ui-monospace,monospace;letter-spacing:.14em;color:#7b8979;margin-bottom:8px}
#bt-lines{position:absolute;inset:0;pointer-events:none;z-index:-1}.bt-edge{fill:none;stroke:#a5b69d;stroke-width:1.4;stroke-linejoin:round;opacity:.3}.bt-edge.is-done{stroke:#6c9e43;opacity:.65}.bt-tree.is-focused .bt-edge{opacity:.06}.bt-tree.is-focused .bt-edge.is-active{stroke:#598635;stroke-width:2;opacity:1}
.bt-card{position:relative;height:150px;flex-shrink:0;padding:14px 16px;border:1px solid #ccd7c7;border-radius:10px;background:#f9fbf7;box-shadow:0 3px 8px #1c321205}.bt-card[data-status="available"]{background:#fff;border-color:#6d9d45;box-shadow:0 0 0 3px #88b95814,0 5px 12px #21371308}.bt-card[data-status="completed"]{background:#e9f2df;border-color:#9bbd7d}.bt-card:hover,.bt-card:focus-within{border-color:#4e7e30;box-shadow:0 6px 18px #1a341213}.bt-card::before,.bt-card::after{content:"";position:absolute;top:60px;width:8px;height:8px;border-radius:2px;border:2px solid #93aa80;background:#f0f4ed}.bt-card::before{left:-5px}.bt-card::after{right:-5px}
.bt-card-top{display:flex;align-items:center;justify-content:space-between;height:24px}.bt-number{font:700 .7rem ui-monospace,monospace;color:#84917b;letter-spacing:.03em}.bt-map .bt-help{display:grid;place-items:center;width:28px;height:28px;border:1px solid #b7cc9f;border-radius:6px;background:#fff;padding:3px}.bt-help img{width:20px;height:20px;object-fit:contain}.bt-map .bt-open{display:block;width:100%;height:62px;text-align:left;background:none;border:0;padding:8px 0;color:#233321;font-weight:750;font-size:.91rem;line-height:1.25;overflow-wrap:anywhere}.bt-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-top:9px}.bt-status{font-size:.63rem;white-space:nowrap;color:#6a7961;font-weight:700}.bt-card[data-status="available"] .bt-status{color:#4b772b}.bt-requires{display:flex;gap:3px}.bt-map .bt-chip{font:500 .58rem ui-monospace,monospace;padding:4px 3px;min-height:24px;border:1px solid #d4decd;border-radius:4px;color:#708161;background:#f4f8ef}.bt-map .bt-chip.is-done{color:#43652c;border-color:#accd8d;background:#e0eecd}
.bt-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;border:1px solid #d8e2d0;border-radius:20px;padding:36px;color:#233321;background:#fff;box-shadow:0 30px 100px #0b180440}.bt-dialog::backdrop{background:#0b1618aa;backdrop-filter:blur(4px)}.bt-map .bt-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f5ec;color:#4d5b43;font-size:1.4rem}.bt-dialog h2{font-size:1.7rem;line-height:1.15;letter-spacing:-.03em;margin:8px 0 18px}.bt-dialog p{font-size:.9rem;line-height:1.75;color:#65725a;margin-bottom:16px}.bt-dialog h3{font-size:.8rem;margin:24px 0 12px}.bt-dialog .bt-help-message{padding:12px 16px;background:#edf5e4;border-radius:8px;color:#537936}.bt-dialog .bt-primary{width:100%;margin-top:24px}.bt-dialog .bt-prerequisite{display:block;width:100%;text-align:left;padding:12px;margin:7px 0;border:1px solid #dce5d5;border-radius:8px;background:#f8fbf4;color:#4c6338;font-size:.85rem}
.bt-dialog form>label{display:block;font-size:.85rem;font-weight:700;margin:18px 0 8px}.bt-dialog form>input:not([type="hidden"]){width:100%;min-height:46px;padding:10px 12px;border:1px solid #cdd8c5;border-radius:8px;background:#fcfdfb;color:#233321}.bt-captcha{margin-top:22px;max-width:100%}.bt-dialog #bt-report-feedback{margin-top:14px;font-size:.85rem}.bt-toast{display:none;position:fixed;bottom:24px;right:24px;z-index:1000;max-width:min(420px,calc(100vw - 32px));padding:18px 22px;border:1px solid #86a657;border-radius:12px;background:#15231c;color:#edf5e6;line-height:1.6;font-size:.85rem;box-shadow:0 10px 40px #0003}.bt-toast.is-visible{display:block}
@media(max-width:700px){.bt-map{width:calc(100% - 28px);margin:44px auto}.bt-heading{align-items:flex-start;flex-direction:column;gap:20px}.bt-heading>.bt-primary{width:100%}.bt-dashboard{align-items:flex-start;flex-direction:column;gap:14px;padding:18px}.bt-toolbar{gap:16px}.bt-legend{gap:12px}.bt-controls{justify-content:space-between;width:100%}.bt-tree{padding:24px;gap:54px}.bt-viewport{max-height:580px}.bt-dialog{padding:30px 22px}.bt-toast{bottom:16px;right:16px}}

/* Map pricing and navigation */
.bt-estimate {
    margin: 28px 0 0;
    padding: 20px 0;
    border-block: 1px solid #d6ded4;
}
.bt-estimate h3 { font-size: .9rem; font-weight: 650; }
#bt-estimate-total { margin: 8px 0; font-size: clamp(1.2rem, 2.2vw, 1.85rem); font-weight: 700; line-height: 1.45; }
.bt-estimate p, .bt-map .bt-node-price { color: #52634f; font-size: .77rem; }
.bt-map .bt-node-price { margin-top: 6px; line-height: 1.3; }
.bt-card { height: auto; min-height: 162px; box-shadow: none; }
.bt-card[data-status="available"] { box-shadow: none; border-left: 3px solid #618842; }
.bt-controls select { padding: 8px; font: inherit; color: #263626; background: white; border: 1px solid #bac6b7; border-radius: 5px; }
.bt-map .bt-task-price { color: #263b24; font-weight: 700; }
.bt-guide-link { display: inline-block; margin-top: 20px; padding: 10px 16px; border: 1px solid #9dac97; border-radius: 6px; color: #273c25; text-decoration: underline; text-underline-offset: 3px; }
.bt-guide-link:focus-visible { outline: 3px solid #5b8a35; outline-offset: 3px; }
@media (pointer: fine) {
    .bt-viewport { cursor: grab; user-select: none; }
    .bt-viewport.is-dragging, .bt-viewport.is-dragging * { cursor: grabbing; }
}
