.map-plan{--map-navy:#123d58;--map-blue:#2e6f92;--map-cyan:#79b9cc;--map-soft:#edf6fa;--map-border:#dce8ee;--map-ink:#18313f;--map-muted:#6e818c;--map-completed:#4f9a74;--map-ongoing:#4f86ad;--map-partial:#c69a42;--map-planned:#8999a3;--map-delayed:#b76a6a;--map-not-completed:#b85f67;--map-postponed:#9a7bb5;--map-paused:#ae7f66;--map-cancelled:#777;max-width:1180px;margin:0 auto;padding:20px 14px 34px;color:var(--map-ink);font-family:inherit}.map-plan *{box-sizing:border-box}.map-plan button{font-family:inherit}.map-hero{text-align:center;padding:12px 12px 20px}.map-hero h2{margin:0!important;color:var(--map-navy)!important;font-size:34px!important;line-height:1.25!important;font-weight:750!important}.map-hero p{max-width:850px;margin:10px auto 0;color:var(--map-muted);font-size:14px;line-height:1.65}.map-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:10px 0 10px}.map-kpi{background:#fff;border:1px solid var(--map-border);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:3px}.map-kpi span{font-size:11px;color:var(--map-muted)}.map-kpi strong{font-size:25px;color:var(--map-navy);line-height:1.2}.map-overall-progress{height:8px;background:#e8f0f4;border-radius:999px;overflow:hidden;margin:0 0 22px}.map-overall-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--map-blue),var(--map-cyan));border-radius:inherit;transition:width .3s ease}.map-controls{display:flex;flex-direction:column;gap:9px;margin:0 0 18px}.map-control-group{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.map-chip{border:1px solid var(--map-border)!important;background:#fff!important;color:var(--map-muted)!important;border-radius:999px!important;padding:8px 13px!important;font-size:11px!important;line-height:1!important;min-height:auto!important;box-shadow:none!important;cursor:pointer;transition:.18s ease}.map-chip:hover{border-color:#b8d5e2!important;background:#f3f9fc!important;color:var(--map-navy)!important}.map-chip.is-active{background:var(--map-navy)!important;color:#fff!important;border-color:var(--map-navy)!important}.map-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.map-direction-card{border:1px solid var(--map-border);background:#fff;border-radius:20px;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.map-direction-card:hover{transform:translateY(-3px);border-color:#bad7e3;box-shadow:0 12px 28px rgba(28,83,111,.09)}.map-direction-card.is-filtered-out{display:none}.map-direction-trigger{display:flex!important;flex-direction:column!important;width:100%!important;min-height:305px!important;text-align:left!important;border:0!important;background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%)!important;color:inherit!important;padding:22px!important;border-radius:0!important;box-shadow:none!important;cursor:pointer}.map-direction-trigger:hover{background:linear-gradient(180deg,#f7fbfd 0%,#eef7fb 100%)!important;color:inherit!important}.map-direction-number{font-size:42px;font-weight:800;color:#d8e8ef;line-height:1}.map-direction-title{font-size:19px;font-weight:750;color:var(--map-navy);line-height:1.35;margin:18px 0 7px}.map-direction-count{font-size:11px;color:var(--map-muted)}.map-direction-count b{color:var(--map-blue)}.map-direction-statuses{display:flex;flex-wrap:wrap;gap:7px 10px;margin-top:14px;font-size:10px;color:var(--map-muted)}.map-direction-statuses>span{display:inline-flex;align-items:center;gap:5px}.map-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.map-direction-statuses b{color:var(--map-ink)}.map-direction-progress{height:8px;background:#e7eff3;border-radius:999px;overflow:hidden;margin-top:auto}.map-direction-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--map-blue),var(--map-cyan));border-radius:inherit}.map-direction-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;font-size:10px;color:var(--map-muted)}.map-direction-foot span strong{color:var(--map-blue)}.map-direction-foot>b{font-size:11px;color:var(--map-blue)}.status-completed{background:var(--map-completed)!important}.status-ongoing{background:var(--map-ongoing)!important}.status-partial{background:var(--map-partial)!important}.status-planned{background:var(--map-planned)!important}.status-delayed{background:var(--map-delayed)!important}.status-not_completed{background:var(--map-not-completed)!important}.status-postponed{background:var(--map-postponed)!important}.status-paused{background:var(--map-paused)!important}.status-cancelled{background:var(--map-cancelled)!important}.map-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;color:#fff!important;font-style:normal;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.map-drawer[hidden]{display:none!important}.map-drawer{position:fixed;inset:0;z-index:999999}.map-drawer-backdrop{position:absolute;inset:0;background:rgba(9,30,43,.52);backdrop-filter:blur(3px)}.map-drawer-panel{position:absolute;top:0;right:0;width:min(780px,94vw);height:100%;overflow:auto;background:#fff;padding:26px 28px 36px;box-shadow:-18px 0 44px rgba(12,45,63,.16);animation:mapSlide .23s ease}.map-drawer-close{position:absolute;top:14px;right:16px;width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#edf5f8!important;color:var(--map-navy)!important;font-size:24px!important;line-height:38px!important;box-shadow:none!important;cursor:pointer}.map-drawer-close:hover{background:#e0eff5!important;color:var(--map-navy)!important}.map-drawer-heading{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:18px 44px 20px 0;border-bottom:1px solid var(--map-border)}.map-drawer-heading>span{font-size:44px;font-weight:800;color:#d8e8ef}.map-drawer-heading small{display:block;color:var(--map-blue);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.map-drawer-heading h3{font-family:inherit!important;font-size:25px!important;line-height:1.32!important;margin:5px 0 0!important;color:var(--map-navy)!important}.map-activity-list{padding-top:8px}.map-public-activity{display:grid;grid-template-columns:62px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid var(--map-border)}.map-public-activity.is-hidden{display:none}.map-public-code{width:56px;height:56px;border-radius:14px;background:var(--map-soft);color:var(--map-blue);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px}.map-public-main h4{font-family:inherit!important;font-size:15px!important;line-height:1.45!important;margin:0 0 6px!important;color:var(--map-ink)!important}.map-public-main p{font-size:12px;line-height:1.55;color:var(--map-muted);margin:0 0 10px}.map-public-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-public-meta>span{font-size:11px;color:var(--map-muted)}.map-public-meta strong{color:var(--map-ink)}.map-public-progress{height:7px;background:#e8eff3;border-radius:999px;overflow:hidden;margin-top:10px}.map-public-progress span{display:block;height:100%;background:var(--map-blue);border-radius:inherit}.map-public-main>small{display:block;margin-top:4px;color:var(--map-muted);font-size:10px}.map-empty{text-align:center;padding:30px;color:var(--map-muted)}.map-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px solid var(--map-border);margin-top:25px;padding-top:18px;font-size:11px;color:var(--map-muted)}.map-legend{display:flex;flex-wrap:wrap;gap:11px}.map-legend span{display:inline-flex;align-items:center;gap:5px}.map-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}body.map-drawer-open{overflow:hidden}@keyframes mapSlide{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
@media(max-width:980px){.map-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-direction-card:hover{transform:none}.map-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.map-plan{padding-left:9px;padding-right:9px}.map-hero h2{font-size:27px!important}.map-kpis{gap:8px}.map-kpi{padding:13px}.map-kpi strong{font-size:21px}.map-control-group{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.map-chip{flex:0 0 auto}.map-direction-grid{grid-template-columns:1fr}.map-direction-trigger{min-height:285px!important;padding:19px!important}.map-direction-title{font-size:18px}.map-drawer-panel{width:100%;padding:20px 16px 30px}.map-drawer-heading{grid-template-columns:48px 1fr;gap:9px}.map-drawer-heading>span{font-size:33px}.map-drawer-heading h3{font-size:21px!important}.map-public-activity{grid-template-columns:48px 1fr;gap:10px}.map-public-code{width:44px;height:44px;font-size:9px}.map-public-meta{align-items:flex-start;flex-direction:column}.map-footer{flex-direction:column}}
/* v1.4.0: compact activity preview on annual-plan goal cards */
.map-direction-trigger{min-height:390px!important}.map-direction-preview{display:block;margin:14px 0 12px;padding:11px 12px;border-radius:13px;background:#f4f9fb;border:1px solid #e2edf2}.map-direction-preview>strong{display:block;font-size:10px;color:var(--map-blue);margin-bottom:6px}.map-direction-preview ul{list-style:none!important;margin:0!important;padding:0!important}.map-direction-preview li{position:relative;padding-left:11px;margin:0 0 4px!important;color:var(--map-ink);font-size:10.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.map-direction-preview li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--map-cyan)}.map-direction-preview small{display:block;margin-top:5px;color:var(--map-muted);font-size:9.5px}.map-public-task{margin:0 0 5px;color:var(--map-blue);font-size:10px;font-weight:700;line-height:1.4}.status-not_completed{background:var(--map-not-completed)!important}.status-postponed{background:var(--map-postponed)!important}
@media(max-width:640px){.map-direction-trigger{min-height:360px!important}}
