.ep-app.planner-page {
    background: #f5f7f2;
}
.ep-app.planner-page main {
    padding-top: 2rem;
}
.ep-app.planner-page .planner-workspace-intro { margin-bottom: 1.4rem; }
.ep-app.planner-page .planner-eyebrow { display: flex; align-items: center; gap: .65rem; font-size: .62rem; letter-spacing: .12em; }
.ep-app.planner-page .planner-eyebrow > span:not(.studio-status-dot) { color: #b6c4ac; padding: 0 .2rem; }
.ep-app.planner-page .studio-status-dot { width: 6px; height: 6px; background: #648a46; border-radius: 50%; }
.ep-app.planner-page .studio-intro { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-bottom: 1rem; }
.ep-app.planner-page .studio-intro h1 { font: 500 clamp(2.5rem, 4.2vw, 4rem)/1.07 "Space Grotesk", sans-serif; letter-spacing: -.065em; margin: 0 0 1.1rem; }
.ep-app.planner-page .studio-intro h1 span { color: #648048; }
.ep-app.planner-page .planner-intro { max-width: 570px; margin-bottom: .5rem; font-size: .95rem; line-height: 1.7; color: #64735d; }
.ep-app.planner-page .studio-energy-mark { display: flex; align-items: center; gap: .2rem; padding-right: 1.5rem; color: #36593c; }
.ep-app.planner-page .studio-energy-mark svg { width: 180px; height: 140px; }
.ep-app.planner-page .studio-energy-mark p { min-width: 110px; font-size: .76rem; line-height: 1.8; color: #617157; margin: 0; }
.ep-app.planner-page .studio-energy-mark strong { color: #36593c; font-weight: 550; }
.ep-app.planner-page .planner-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid #dde5d6; border-radius: 14px; background: white; padding: 7px; margin: 1rem 0; }
.ep-app.planner-page .planner-steps button { display: flex; align-items: center; gap: .8rem; border: 0; border-radius: 9px; padding: .9rem; background: transparent; color: #65735e; text-align: left; }
.ep-app.planner-page .planner-steps button:hover { background: #f2f6ea; }
.ep-app.planner-page .planner-steps button[aria-current] { background: #173d2e; color: white; }
.ep-app.planner-page .studio-step-number { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border: 1px solid #e1e7db; border-radius: 50%; font: 500 .85rem "Space Grotesk", sans-serif; color: #90a17e; }
.ep-app.planner-page [aria-current] .studio-step-number { background: #d5f478; border-color: #d5f478; color: #163e32; }
.ep-app.planner-page .planner-steps strong { display: block; font-size: .8rem; font-weight: 600; line-height: 1.4; }
.ep-app.planner-page .planner-steps small { display: block; margin-top: .18rem; font-size: .67rem; font-weight: 400; color: #617157; }
.ep-app.planner-page .planner-steps [aria-current] small { color: #c4d2b3; }
.ep-app.planner-page .studio-step-arrow { margin-left: auto; font-size: 1rem; color: #829477; }
.ep-app.planner-page [aria-current] .studio-step-arrow { color: #d5f478; }
.ep-app.planner-page .planner-step-progress { margin: .5rem .4rem 1.4rem; font: .7rem "Space Grotesk", sans-serif; color: #617157; }
.ep-app.planner-page .planner-grid { border-color: #d9e3d0; border-radius: 18px; box-shadow: 0 8px 30px #173d2e05; }
.ep-app.planner-page .planner-controls { padding: 2rem; }
.ep-app.planner-page [data-step-title] { font: 500 1.4rem/1.3 "Space Grotesk", sans-serif; letter-spacing: -.045em; }
.ep-app.planner-page .planner-step-intro { font-size: .83rem; line-height: 1.75; max-width: 460px; }
.ep-app.planner-page .form-label { font-size: .73rem; margin-top: .7rem; margin-bottom: .7rem; }
.ep-app.planner-page .form-control { min-height: 50px; border-color: #d0ddc5; background: #fbfcf8; font-size: .9rem; padding-inline: 1rem; border-radius: 10px; }
.ep-app.planner-page .planner-search-actions { gap: .5rem; }
.ep-app.planner-page .planner-search-actions .btn { font-size: .78rem; }
.ep-app.planner-page .cadastre-panel { margin-top: 1.5rem; border-color: #e3e9da; background: #f7f9f3; font-size: .8rem; }
.ep-app.planner-page .cadastre-panel > summary { font-size: .75rem; line-height: 1.7; }
.ep-app.planner-page .planner-navigation { padding-top: 1.4rem; border-top: 1px solid #e6ecdf; }
.ep-app.planner-page .planner-navigation .btn { font-size: .8rem; }
.ep-app.planner-page .planner-navigation [data-next] { min-width: 125px; }
.ep-app.planner-page .planner-map-panel { background: #f0f5e8; border-color: #d9e3d0; }
.ep-app.planner-page .planner-map-heading { padding: 1.5rem 1.5rem .5rem; }
.ep-app.planner-page .studio-map-eyebrow { display: flex; align-items: center; gap: .45rem; color: #637d4f; font-size: .58rem; letter-spacing: .1em; margin-bottom: 1rem; }
.ep-app.planner-page .studio-map-eyebrow svg { width: 16px; height: 16px; }
.ep-app.planner-page .studio-map-eyebrow span { margin-left: auto; padding: .25rem .5rem; border: 1px solid #d9e3d0; border-radius: 4px; background: #f9fbf5; font-size: .53rem; letter-spacing: .07em; }
.ep-app.planner-page .planner-map-heading h2 { font: 500 1.3rem "Space Grotesk", sans-serif; letter-spacing: -.04em; margin-bottom: .35rem; }
.ep-app.planner-page .planner-map-heading > p:last-child { font-size: .73rem; color: #718261; }
.ep-app.planner-page .planner-map { background-color: #e8f0df; background-image: linear-gradient(#6382460b 1px, transparent 1px), linear-gradient(90deg, #6382460b 1px, transparent 1px); background-size: 36px 36px; }
.ep-app.planner-page .planner-ortho { font-size: .7rem; padding-inline: 1.5rem; padding-top: .5rem; }
.ep-app.planner-page .planner-map-panel > .small { font-size: .62rem; line-height: 1.7; padding-inline: 1.5rem !important; }
.ep-app.planner-page main > details { border: 1px solid #dce5d3; border-radius: 12px; padding: 1rem 1.2rem; background: #fff; font-size: .82rem; }
.ep-app.planner-page main > details > summary { color: #4b6840; font-weight: 550; }
@media (max-width: 1100px) {
    .ep-app.planner-page .studio-energy-mark { padding: 0; }
    .ep-app.planner-page .studio-energy-mark svg { width: 135px; }
    .ep-app.planner-page .studio-energy-mark p { display: none; }
    .ep-app.planner-page .planner-steps button { gap: .55rem; padding: .8rem .65rem; }
    .ep-app.planner-page .planner-steps strong { font-size: .72rem; }
    .ep-app.planner-page .studio-step-arrow { display: none; }
}
@media (max-width: 800px) {
    .ep-app.planner-page .studio-intro { padding-bottom: .5rem; }
    .ep-app.planner-page .studio-intro h1 { font-size: 3rem; }
    .ep-app.planner-page .planner-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
    .ep-app.planner-page .planner-steps button { padding: .8rem; }
    .ep-app.planner-page .planner-controls { padding: 1.4rem; }
}
@media (max-width: 500px) {
    .ep-app.planner-page main { padding-top: 1.25rem; }
    .ep-app.planner-page .studio-intro { gap: 0; }
    .ep-app.planner-page .studio-intro h1 { font-size: clamp(2.15rem, 8.4vw, 2.8rem); letter-spacing: -.06em; }
    .ep-app.planner-page .studio-energy-mark { display: none; }
    .ep-app.planner-page .planner-intro { font-size: .82rem; }
    .ep-app.planner-page .planner-workspace-intro { gap: .5rem; margin-bottom: 1.1rem; }
    .ep-app.planner-page .planner-eyebrow { font-size: .53rem; letter-spacing: .07em; gap: .35rem; }
    .ep-app.planner-page .planner-steps { padding: 5px; border-radius: 12px; }
    .ep-app.planner-page .planner-steps button { gap: .5rem; padding: .7rem .6rem; }
    .ep-app.planner-page .studio-step-number { flex-basis: 28px; height: 28px; font-size: .7rem; }
    .ep-app.planner-page .planner-steps strong { font-size: .65rem; }
    .ep-app.planner-page .planner-steps small { font-size: .57rem; }
    .ep-app.planner-page .planner-controls { padding: 1.2rem; }
    .ep-app.planner-page [data-step-title] { font-size: 1.25rem; }
    .ep-app.planner-page :is(.form-control, .form-select) { font-size: 1rem; }
}
