:root{
  --brand:#E37A60; --ink:#1B1B1B; --muted:#8E8E93;
  --panel:#fff; --bg:#F6F2EE; --shadow:0 12px 30px rgba(16,24,40,.10);
  --radius:16px;
}


.epro-map-page{max-width:1130px;margin:14px auto 38px;font-family:Inter,Arial,sans-serif;color:var(--ink)}
.epro-map-head{display:flex;justify-content:space-between;align-items:center;background:#FBF8F2;border-radius:16px;padding:16px 18px;box-shadow:0 6px 20px rgba(16,24,40,.06)}
.epro-map-head .head-left{display:flex;align-items:center;gap:12px}
.epro-map-head .pin{width:36px;height:36px;border-radius:12px;background:#E8F3FF;display:inline-block;position:relative}
.epro-map-head .pin:after{content:'';position:absolute;left:50%;top:50%;width:10px;height:10px;background:#1C72E5;border-radius:999px;transform:translate(-50%,-50%)}
.epro-map-head .title{font-weight:800}

.add-btn{border:none;background:#fff;padding:10px 14px;border-radius:12px;box-shadow:var(--shadow);cursor:pointer;font-weight:700;color:#816AF4}
.add-btn:hover{transform:translateY(-1px)}

.pm-accordion{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.pm-item{background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.pm-item.dim{background:#F7F6F5;opacity:.9}
.pm-tgl{width:100%;text-align:left;background:transparent;border:none;padding:18px 20px;display:flex;align-items:center;gap:12px;cursor:pointer}
.pm-tgl .num{font-weight:800}
.pm-tgl .ttl{flex:1}
.pm-tgl .chev{opacity:.5;transition:transform .15s}
.pm-item.open .pm-tgl .chev{transform:rotate(180deg)}
.pill{width:10px;height:10px;border-radius:999px}
.pill.approved{background:#2BAA6A}
.pill.pending{background:#F6B000}
.pill.rejected{background:#E37A60}

.pm-panel{display:none;padding:12px 18px 18px}
.pm-item.open .pm-panel{display:block}
.grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.f{display:flex;flex-direction:column}
.f-wide{grid-column:1/-1}
.f label{font-size:13px;color:#6B6E76;margin:0 0 6px}
.f input,.f textarea{border:1px solid #E6E6EC;border-radius:12px;padding:10px 12px;font:inherit;background:#fff}
.row-actions{margin-top:10px;display:flex;gap:10px}
.btn{border:0;border-radius:12px;background:#FFE4DC;padding:12px 18px;font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(227,122,96,.20)}
.btn.danger{background:#F8E5E3;color:#B44B32}

.pm-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:99999}
.pm-modal.show{display:flex}
.pm-backdrop{position:absolute;inset:0;background:rgba(30,30,36,.24);backdrop-filter:blur(6px)}
.pm-window{position:relative;background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(16,24,40,.25);padding:18px;max-width:860px;width:92%}
.pm-window.small{max-width:540px}
.pm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.pm-modal-title{font-weight:800;font-size:18px}
.pm-close{border:0;background:transparent;font-size:24px;cursor:pointer}

.pm-form .grid{grid-template-columns:1fr 1fr 1fr}
.pm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}
.cta{border:0;border-radius:16px;background:#E37A60;color:#fff;padding:14px 24px;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(227,122,96,.35)}
.muted{border:0;border-radius:12px;background:#EFEFEF;color:#1B1B1B;padding:12px 16px;cursor:pointer}

@media (max-width: 900px){
  .grid,.pm-form .grid{grid-template-columns:1fr}
}
