*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}

:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-soft:#f7f7f8;
  --surface-strong:#111111;
  --text:#111111;
  --muted:rgba(17,17,17,.62);
  --muted-2:rgba(17,17,17,.48);
  --line:rgba(17,17,17,.08);
  --line-strong:rgba(17,17,17,.12);
  --shadow:0 18px 42px rgba(17,17,17,.08);
  --shadow-soft:0 10px 24px rgba(17,17,17,.06);
  --radius-xl:28px;
  --radius-lg:24px;
  --radius-md:20px;
  --radius-sm:16px;
  --accent:#111111;
}

html,body{
  min-height:100%;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  overflow-x:hidden;
}

body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(1200px 440px at 50% -120px, rgba(17,17,17,.06), transparent 60%),
    linear-gradient(180deg,#ffffff 0%,#fafafa 100%);
  z-index:-1;
}

button,input,textarea{font:inherit}

.pd-app{min-height:100dvh}
.pd-page{width:min(1180px,100%);margin:0 auto;padding:18px 16px 40px}

.pd-topbar{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.pd-topbar-inner{
  width:min(1180px,100%);
  min-height:64px;
  margin:0 auto;
  padding:0 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}
.pd-topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.pd-topbar-actions{display:flex;align-items:center;gap:10px}
.pd-topbar-title{font-size:24px;font-weight:400;letter-spacing:-.03em;color:#000;line-height:1}
.pd-top-btn{
  width:44px;height:44px;border-radius:999px;border:1px solid var(--line-strong);
  background:#fff;color:#111;display:grid;place-items:center;cursor:pointer;
  box-shadow:var(--shadow-soft)
}
.pd-top-btn svg{width:20px;height:20px;stroke:#111;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pd-top-btn:active{transform:scale(.97)}

.pd-hero-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.pd-hero-media-wrap{
  position:relative;
  min-height:340px;
  max-height:640px;
  aspect-ratio:16/9;
  background:#f2f2f2;
}
.pd-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pd-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(17,17,17,.06) 0%,rgba(17,17,17,.18) 50%,rgba(17,17,17,.62) 100%)
}
.pd-hero-floating-meta{
  position:absolute;left:18px;right:18px;bottom:18px;display:flex;flex-wrap:wrap;gap:10px;z-index:2
}
.pd-chip{
  display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:700
}
.pd-chip-light{
  background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.6);color:#111;
  box-shadow:0 12px 26px rgba(17,17,17,.12)
}

.pd-hero-body{
  padding:22px 22px 24px;
  display:grid;
  gap:18px;
}
.pd-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pd-name{font-size:clamp(28px,4.2vw,42px);line-height:1.02;font-weight:900;letter-spacing:-.04em;margin-top:6px}
.pd-location-line{
  margin-top:12px;display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:14px;line-height:1.45
}
.pd-location-line svg{width:18px;height:18px;flex:0 0 auto;margin-top:1px;stroke:#111;stroke-width:2;fill:none}

.pd-stats-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.pd-stat-card{
  background:var(--surface-soft);
  border:1px solid var(--line);
  border-radius:22px;
  padding:16px;
  min-height:94px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.pd-stat-label{font-size:12px;color:var(--muted);font-weight:700}
.pd-stat-card strong{font-size:22px;line-height:1.15;font-weight:900;letter-spacing:-.03em;color:#111}

.pd-actions{display:grid;gap:12px}
.pd-actions-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pd-actions-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pd-action-btn{
  border:1px solid var(--line);
  background:#fff;
  border-radius:24px;
  padding:16px;
  display:flex;
  align-items:center;
  gap:14px;
  text-align:left;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
  color:#111;
}
.pd-action-btn:active{transform:scale(.985)}
.pd-action-btn-primary{background:#111;border-color:#111;color:#fff;box-shadow:0 16px 32px rgba(17,17,17,.14)}
.pd-action-icon{
  width:48px;height:48px;border-radius:18px;display:grid;place-items:center;flex:0 0 auto;
  background:rgba(17,17,17,.05);border:1px solid rgba(17,17,17,.07)
}
.pd-action-btn-primary .pd-action-icon{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.14)}
.pd-action-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pd-action-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.pd-action-copy strong{font-size:15px;line-height:1.2;font-weight:800}
.pd-action-copy small{font-size:12px;color:var(--muted-2);font-weight:600}
.pd-action-btn-primary .pd-action-copy small{color:rgba(255,255,255,.72)}
.pd-action-btn.is-joined{background:#123b7c;border-color:#123b7c;color:#fff;box-shadow:0 18px 34px rgba(15,23,42,.22)}
.pd-action-btn.is-joined .pd-action-icon{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.16)}
.pd-action-btn.is-joined .pd-action-icon svg{stroke:#fff}
.pd-action-btn.is-joined .pd-action-copy small{color:rgba(255,255,255,.78)}

.pd-content-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:18px;
  align-items:start;
}
.pd-main-col,.pd-side-col{display:grid;gap:18px}

.pd-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:28px;
  padding:22px;
  box-shadow:var(--shadow);
}
.pd-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.pd-section-head-split{align-items:center}
.pd-section-kicker{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.pd-card h2{font-size:24px;line-height:1.05;font-weight:900;letter-spacing:-.03em;color:#111}
.pd-desc{font-size:15px;line-height:1.72;color:#1a1a1a}

.pd-detail-stack{display:grid;gap:12px}
.pd-detail-item{
  display:flex;align-items:center;gap:14px;padding:16px;border-radius:22px;background:var(--surface-soft);border:1px solid var(--line)
}
.pd-detail-icon{
  width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:#fff;border:1px solid var(--line)
}
.pd-detail-icon svg{width:22px;height:22px;stroke:#111;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pd-detail-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.pd-detail-copy span{font-size:12px;color:var(--muted);font-weight:700}
.pd-detail-copy strong{font-size:15px;color:#111;line-height:1.35;font-weight:800}

.pd-location-card .pd-location-box{
  display:grid;gap:16px;padding:16px;border-radius:24px;background:var(--surface-soft);border:1px solid var(--line)
}
.pd-location-text{font-size:15px;line-height:1.6;color:#111;font-weight:700}
.pd-loc-btn{
  width:100%;min-height:54px;border-radius:18px;border:1px solid #111;background:#111;color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800;box-shadow:0 14px 26px rgba(17,17,17,.14)
}
.pd-loc-btn svg{width:19px;height:19px;stroke:#fff;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pd-loc-btn:active{transform:scale(.99)}

.pd-comments-hint{font-size:12px;color:var(--muted);font-weight:700}
.pd-muted{color:var(--muted);text-align:center;padding:16px}
.pd-comments-list{display:flex;flex-direction:column;gap:12px;padding-bottom:14px}
.pd-comment{
  display:flex;gap:12px;padding:14px;border-radius:22px;background:var(--surface-soft);border:1px solid var(--line)
}
.pd-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:#fff}
.pd-cbody{flex:1;min-width:0}
.pd-chead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}
.pd-cname-wrap{min-width:0;display:flex;flex-direction:column;gap:4px}
.pd-cname{font-size:14px;font-weight:800;display:inline-flex;align-items:center;gap:6px;color:#111;flex-wrap:wrap}
.pd-cdate{font-size:11px;color:var(--muted);font-weight:700}
.pd-ctext{font-size:14px;color:#1a1a1a;line-height:1.55;word-break:break-word}
.verified-badge-img{width:18px;height:18px;object-fit:contain;display:inline-block;vertical-align:middle;filter:drop-shadow(0 6px 14px rgba(17,17,17,.14))}

.pd-comment-input{display:flex;align-items:flex-end;gap:12px;margin-top:8px}
.pd-comment-input textarea{
  flex:1;min-height:52px;max-height:112px;border-radius:24px;border:1px solid var(--line);outline:none;
  padding:14px 18px;background:#fff;color:#111;box-shadow:var(--shadow-soft);resize:none;overflow-y:hidden;
  line-height:1.45;font:inherit;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere
}
.pd-comment-input textarea::placeholder{color:var(--muted)}
.pd-comment-input button{
  width:52px;min-width:52px;height:52px;border-radius:50%;border:none;background:#111;box-shadow:0 14px 26px rgba(17,17,17,.16);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#fff
}
.pd-comment-input button:active{transform:scale(.94)}
.pd-comment-input button::before{
  content:'';width:18px;height:18px;display:block;background:currentColor;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M22 2L11 13' stroke='black' stroke-width='2' fill='none'/><path d='M22 2L15 22L11 13L2 9L22 2Z' fill='black'/></svg>") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M22 2L11 13' stroke='black' stroke-width='2' fill='none'/><path d='M22 2L15 22L11 13L2 9L22 2Z' fill='black'/></svg>") center/contain no-repeat
}

.edit-overlay{
  position:fixed;inset:0;background:rgba(17,17,17,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:359;display:none
}
.edit-sheet{
  position:fixed;left:0;right:0;bottom:-120%;height:min(82vh,820px);background:#fff;border-radius:28px 28px 0 0;z-index:360;
  padding:18px;transition:bottom .35s ease;display:flex;flex-direction:column;gap:12px;box-shadow:0 -26px 60px rgba(17,17,17,.24);border-top:1px solid var(--line)
}
.edit-sheet.open{bottom:0}
.sheet-handle{width:58px;height:5px;border-radius:999px;background:rgba(17,17,17,.14);margin:4px auto 2px}
.edit-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.edit-title{font-size:16px;font-weight:900;color:#111}
.edit-close{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:#111;cursor:pointer;box-shadow:var(--shadow-soft)
}
.edit-close:active{transform:scale(.94)}
.edit-form{flex:1;overflow-y:auto;padding-bottom:84px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.form-field label{font-size:12px;color:var(--muted);font-weight:700}
.form-field input,.form-field textarea{
  width:100%;border:1px solid var(--line);outline:none;border-radius:18px;padding:14px;background:var(--surface-soft);color:#111;font-size:14px
}
.form-field textarea{min-height:108px;resize:none}
.form-hint{font-size:12px;color:var(--muted);margin-top:6px}
.edit-footer{
  position:sticky;bottom:0;margin:0 -18px;padding:14px 18px 18px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line)
}
.edit-submit{
  width:100%;height:56px;border:none;border-radius:18px;background:#111;color:#fff;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 16px 28px rgba(17,17,17,.16)
}
.edit-submit:active{transform:scale(.99)}

.ui-modal-overlay{
  position:fixed;inset:0;background:rgba(17,17,17,.34);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:600;display:none
}
.ui-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,420px);z-index:601;display:none}
.ui-modal-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px 18px 16px;box-shadow:0 26px 70px rgba(17,17,17,.18)
}
.ui-modal-title{font-size:16px;font-weight:900;margin-bottom:6px;color:#111}
.ui-modal-msg{font-size:14px;color:#1b1b1b;line-height:1.5}
.ui-modal-actions{display:flex;gap:10px;margin-top:16px;justify-content:flex-end;flex-wrap:wrap}
.ui-btn{
  min-height:44px;padding:0 14px;border-radius:14px;border:1px solid var(--line);cursor:pointer;background:#fff;color:#111;font-weight:800
}
.ui-btn.primary{background:#111;border-color:#111;color:#fff;box-shadow:0 14px 24px rgba(17,17,17,.14)}

@media (max-width:980px){
  .pd-content-grid{grid-template-columns:1fr}
}

@media (max-width:720px){
  .pd-page{padding:14px 12px 28px}
  .pd-topbar-inner{min-height:60px;padding:0 12px}
  .pd-topbar-title{font-size:22px}
  .pd-hero-media-wrap{min-height:290px;aspect-ratio:auto;height:46vh}
  .pd-hero-body,.pd-card{padding:18px}
  .pd-stats-grid{grid-template-columns:1fr}
  .pd-actions-3,.pd-actions-2{grid-template-columns:1fr}
  .pd-action-btn{border-radius:20px;padding:14px}
}

@media (max-width:520px){
  .pd-name{font-size:30px}
  .form-row{grid-template-columns:1fr}
  .pd-comment-input{align-items:flex-end}
  .pd-comment-input textarea{border-radius:22px}
  .pd-comment-input button{width:50px;min-width:50px;height:50px;align-self:flex-end}
}


.pd-participants-card{
  overflow:hidden;
}
.pd-participants-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.pd-person-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,248,252,.94) 100%);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
}
.pd-person-row.is-creator{
  border-color:rgba(255,0,79,.16);
  box-shadow:0 14px 30px rgba(255,0,79,.08);
}
.pd-person-avatar-wrap{
  position:relative;
  flex:0 0 auto;
}
.pd-person-avatar{
  width:54px;
  height:54px;
  border-radius:18px;
  object-fit:cover;
  display:block;
  background:#eef2ff;
}
.pd-person-badge{
  position:absolute;
  right:-2px;
  bottom:-2px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.16);
  padding:2px;
  object-fit:contain;
}
.pd-person-copy{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.pd-person-top{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.pd-person-name{
  font-size:15px;
  font-weight:800;
  color:#111827;
  letter-spacing:-.02em;
  min-width:0;
}
.pd-person-role{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  font-size:12px;
  font-weight:700;
  color:#475569;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
  padding:6px 10px;
  border-radius:999px;
}
.pd-person-row.is-creator .pd-person-role{
  color:#c9003e;
  background:rgba(255,0,79,.07);
  border-color:rgba(255,0,79,.14);
}
@media (max-width: 640px){
  .pd-person-row{padding:11px; border-radius:16px;}
  .pd-person-avatar{width:48px;height:48px;border-radius:16px;}
  .pd-person-name{font-size:14px;}
}


.pd-participants-more{
  margin-top:14px;
}
.pd-more-btn{
  width:100%;
  border:none;
  border-radius:18px;
  padding:14px 16px;
  font-size:14px;
  font-weight:800;
  color:#111827;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  border:1px solid rgba(15,23,42,.08);
  cursor:pointer;
}
.pd-more-btn:disabled{
  opacity:.7;
  cursor:default;
}
.pd-participants-sentinel{
  width:100%;
  height:1px;
}

.pd-action-btn.is-banned{background:#7b1717;border-color:#7b1717;color:#fff;box-shadow:0 18px 34px rgba(127,29,29,.22)}
.pd-action-btn.is-banned .pd-action-icon{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.16)}
.pd-action-btn.is-banned .pd-action-copy small{color:rgba(255,255,255,.82)}
.pd-action-btn.is-disabled{background:#f3f4f6;border-color:#e5e7eb;color:#111;box-shadow:none}
.pd-action-btn.is-disabled .pd-action-copy small{color:#6b7280}

.settings-menu,.settings-view{display:grid;gap:12px;min-height:0;overflow:auto;padding-right:2px}

[hidden]{display:none !important}

.settings-tabs{
  position:sticky;
  top:0;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:6px 0 2px;
  background:linear-gradient(180deg,#fff 78%,rgba(255,255,255,0) 100%);
}
.settings-tab{
  min-height:46px;
  border:none;
  border-radius:16px;
  background:#f3f4f6;
  color:#6b7280;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  transition:transform .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}
.settings-tab.is-active{
  background:#111;
  color:#fff;
  box-shadow:0 14px 30px rgba(17,17,17,.14);
}
.settings-panels{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:grid;
}
.settings-panel{
  display:grid;
  gap:14px;
  align-content:start;
  min-height:0;
  overflow:auto;
  padding:8px 2px 2px;
}
.settings-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.settings-panel-head strong{
  display:block;
  font-size:20px;
  line-height:1.15;
  color:#111;
}
.settings-panel-head span{
  display:block;
  margin-top:6px;
  color:var(--muted);
  line-height:1.5;
  font-size:13px;
}
.settings-panel-head-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:14px;
}
.settings-panel-head-split > div{
  min-width:0;
}
.settings-screen-body{display:grid;gap:12px;min-height:0;align-content:start}
.settings-info-banner{padding:14px 16px;border-radius:20px;background:#f8f8f8;border:1px solid var(--line);display:grid;gap:6px}
.settings-info-banner strong{font-size:14px;color:#111}
.settings-info-banner span{font-size:13px;color:var(--muted);line-height:1.55}
.settings-mini-btn{
  flex:0 0 auto;
  min-width:132px;
  height:44px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#111;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 14px 26px rgba(17,17,17,.12);
  white-space:nowrap;
}
.settings-mini-btn:active{transform:scale(.985)}
@media (max-width:760px){
  .settings-tabs{gap:8px}
  .settings-tab{min-height:44px;font-size:13px}
  .settings-panel-head,
  .settings-panel-head-split{
    grid-template-columns:1fr;
    align-items:start;
  }
  .settings-panel-head strong,
  .settings-panel-head span{
    max-width:none;
  }
  .settings-mini-btn{
    width:100%;
    min-width:0;
  }
}

.settings-item{width:100%;border:1px solid var(--line);background:#fff;border-radius:22px;padding:18px;text-align:left;display:grid;gap:6px;box-shadow:var(--shadow-soft);cursor:pointer}
.settings-item strong{font-size:16px;font-weight:900;color:#111}
.settings-item span{font-size:13px;line-height:1.55;color:var(--muted)}
.settings-subhead{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}
.settings-subhead strong{display:block;font-size:16px;color:#111}
.settings-subhead span{display:block;font-size:13px;color:var(--muted);line-height:1.5;margin-top:4px}
.settings-back{min-width:98px;height:42px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft);cursor:pointer;font-weight:800}
.settings-switch{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--line);font-size:14px;font-weight:700;color:#111}
.settings-switch input{width:18px;height:18px}
.form-field select{width:100%;min-height:52px;border-radius:18px;border:1px solid var(--line);padding:0 16px;background:#fff;color:#111;font:inherit;box-shadow:var(--shadow-soft);outline:none}
.settings-list{display:grid;gap:12px}
.admin-person-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);background:var(--surface-soft);border-radius:22px}
.admin-person-main{display:flex;align-items:center;gap:12px;min-width:0}
.admin-person-copy{min-width:0;display:grid;gap:4px}
.admin-person-name{font-size:15px;font-weight:900;color:#111;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.admin-person-meta,.admin-person-reason{font-size:12px;line-height:1.5;color:var(--muted)}
.admin-ban-btn,.admin-unban-btn{min-width:96px;height:42px;border:none;border-radius:999px;font-weight:800;cursor:pointer;box-shadow:0 12px 24px rgba(17,17,17,.14)}
.admin-ban-btn{background:#111;color:#fff}
.admin-unban-btn{background:#fff;color:#111;border:1px solid var(--line);box-shadow:none}
.admin-lock-chip{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:38px;padding:0 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:800;color:#6b7280}
.settings-history{display:grid;gap:12px}
.history-item{padding:14px 16px;border-radius:20px;background:var(--surface-soft);border:1px solid var(--line)}
.history-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.history-top strong{font-size:14px;font-weight:900;color:#111}.history-top span{font-size:11px;color:var(--muted);font-weight:700}
.history-body{font-size:14px;line-height:1.6;color:#111}.history-reason{margin-top:8px;font-size:12px;line-height:1.5;color:var(--muted)}

@media (max-width: 720px){
  .admin-person-row{align-items:flex-start;flex-direction:column}
  .admin-person-actions{width:100%}
  .admin-ban-btn,.admin-unban-btn,.admin-lock-chip{width:100%}
}


/* Ajustes pro pulidos */
.edit-sheet{
  width:min(760px,100%);
  left:50%;
  right:auto;
  transform:translateX(-50%);
  bottom:-120%;
}
.edit-sheet.open{bottom:0}
.edit-sheet,
.settings-menu,
.settings-view,
.edit-form{min-height:0}
.settings-menu,
.settings-view{
  flex:1 1 auto;
  align-content:start;
  padding-bottom:8px;
}
.edit-form{
  padding-right:2px;
}
.edit-header{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  padding-bottom:8px;
}
.settings-item{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.settings-item:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(17,17,17,.08);
  border-color:rgba(17,17,17,.12);
}
.settings-subhead{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  padding-bottom:10px;
}
.settings-list,.settings-history{
  align-content:start;
  padding-bottom:14px;
}
.admin-person-row,
.history-item{
  box-shadow:var(--shadow-soft);
}
.admin-person-actions{
  flex:0 0 auto;
}
.admin-person-reason{
  word-break:break-word;
}
.edit-submit[disabled],
.admin-ban-btn[disabled],
.admin-unban-btn[disabled],
.pd-more-btn[disabled]{
  opacity:.68;
  cursor:default;
}
.ui-modal-card{
  max-height:min(80vh,680px);
  overflow:auto;
}
@media (max-width:820px){
  .edit-sheet{
    width:100%;
    left:0;
    right:0;
    transform:none;
    border-radius:28px 28px 0 0;
  }
}

/* Pantallas internas de ajustes */
.edit-sheet{
  display:flex;
  flex-direction:column;
  max-height:min(88vh,920px);
}
.settings-menu,
.settings-view{
  flex:1 1 auto;
  overflow:hidden;
}
.settings-screen{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.settings-screen-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  position:sticky;
  top:0;
  z-index:3;
  background:rgba(255,255,255,.98);
  padding-bottom:10px;
}
.settings-screen-body{
  flex:1 1 auto;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:14px;
  padding-right:2px;
}
.settings-info-banner{
  display:grid;
  gap:6px;
  padding:16px 18px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 36px rgba(15,23,42,.06);
}
.settings-info-banner strong{
  font-size:14px;
  font-weight:900;
  color:#111;
}
.settings-info-banner span{
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
}
.settings-mini-btn{
  flex:0 0 auto;
  min-width:104px;
  height:42px;
  padding:0 16px;
  border:none;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-weight:800;
  box-shadow:0 14px 30px rgba(17,17,17,.14);
  cursor:pointer;
}
.settings-empty{
  display:grid;
  gap:6px;
  padding:20px 18px;
  border-radius:22px;
  background:#fff;
  border:1px dashed rgba(15,23,42,.16);
  color:#111;
}
.settings-empty strong{
  font-size:14px;
  font-weight:900;
}
.settings-empty span{
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
}
.settings-empty-error{
  background:#fff7f7;
  border-color:rgba(185,28,28,.18);
}
@media (max-width:720px){
  .settings-screen-head{
    flex-direction:column;
    align-items:stretch;
  }
  .settings-mini-btn{
    width:100%;
  }
}


/* ===== Ajustes pulidos con lengüetas reales ===== */
.edit-sheet{
  height:min(88vh,920px);
  max-height:min(88vh,920px);
  overflow:hidden;
}
.settings-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:6px 2px 2px;
  position:sticky;
  top:73px;
  z-index:4;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.settings-tab{
  min-height:46px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  font-weight:800;
  color:#111;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
}
.settings-tab.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
  box-shadow:0 16px 30px rgba(17,17,17,.16);
}
.settings-panels{
  position:relative;
  flex:1 1 auto;
  min-height:0;
}
.settings-panel{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:0;
  padding:10px 2px 0;
}
.settings-panel[hidden]{display:none !important}
.settings-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:2px 2px 0;
}
.settings-panel-head strong{
  display:block;
  font-size:18px;
  font-weight:900;
  color:#111;
}
.settings-panel-head span{
  display:block;
  margin-top:5px;
  font-size:13px;
  line-height:1.55;
  color:var(--muted);
}
.settings-panel-head-actions{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(255,255,255,.96);
  padding-bottom:8px;
}
.settings-panel-body,
.edit-form{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:14px;
  padding-right:2px;
}
.settings-card{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(15,23,42,.08);
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.settings-card-head strong{
  display:block;
  font-size:15px;
  font-weight:900;
  color:#111;
}
.settings-card-head span{
  display:block;
  margin-top:4px;
  font-size:13px;
  line-height:1.55;
  color:var(--muted);
}
@media (max-width:720px){
  .settings-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    top:69px;
  }
  .settings-panel{
    padding-top:8px;
  }
}

/* ===== Fix final: lengüetas de ajustes bien ordenadas ===== */
.edit-sheet{
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.edit-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.98);
  padding:0 0 10px;
  margin-bottom:0;
}
.settings-tabs{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  position:sticky !important;
  top:auto !important;
  z-index:18 !important;
  background:rgba(255,255,255,.98) !important;
  padding:10px 0 4px !important;
  margin:0 0 4px !important;
}
.settings-panels{
  position:relative !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
}
.settings-panel{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  min-height:0 !important;
  padding:8px 0 0 !important;
  background:#fff !important;
}
.settings-panel[hidden]{display:none !important}
.settings-panel-head{
  flex:0 0 auto;
  padding:0 2px 2px !important;
}
.settings-panel-head strong{
  font-size:20px !important;
  line-height:1.2 !important;
}
.settings-panel-head span{
  margin-top:6px !important;
  font-size:13px !important;
}
.edit-form,
.settings-screen-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding:2px 2px 14px !important;
  margin:0 !important;
  align-content:start !important;
}
.edit-footer{
  position:sticky !important;
  bottom:0 !important;
  z-index:5 !important;
  margin:0 !important;
}
@media (max-width:720px){
  .settings-tabs{grid-template-columns:1fr 1fr 1fr !important; gap:8px !important;}
  .settings-tab{min-height:44px !important; font-size:13px !important; padding:0 10px !important;}
  .settings-panel-head strong{font-size:18px !important;}
}

/* ===== Override final limpio: ajustes ordenados de verdad ===== */
.edit-sheet{
  display:flex !important;
  flex-direction:column !important;
  width:min(760px,100%) !important;
  max-width:760px !important;
  height:min(88vh,920px) !important;
  max-height:min(88vh,920px) !important;
  overflow:hidden !important;
  padding:16px 16px 0 !important;
}
.edit-sheet .sheet-handle{margin:4px auto 8px !important;flex:0 0 auto}
.edit-header{
  position:relative !important;
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 0 10px !important;
  margin:0 !important;
  background:#fff !important;
}
.edit-title{font-size:16px !important;line-height:1.2 !important;font-weight:900 !important}
.settings-tabs{
  flex:0 0 auto !important;
  position:relative !important;
  top:auto !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  padding:0 0 12px !important;
  margin:0 !important;
  background:#fff !important;
}
.settings-tab{
  min-height:48px !important;
  padding:0 12px !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:15px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-shadow:none !important;
}
.settings-tab.is-active{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
  box-shadow:0 14px 30px rgba(17,17,17,.14) !important;
}
.settings-panels{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:block !important;
  overflow:hidden !important;
  position:relative !important;
  margin:0 !important;
}
.settings-panel{
  position:relative !important;
  inset:auto !important;
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  padding:0 !important;
  background:#fff !important;
}
.settings-panel[hidden]{display:none !important}
.settings-panel-head,
.settings-panel-head.settings-panel-head-split{
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:12px !important;
  padding:0 0 2px !important;
  margin:0 !important;
}
.settings-panel-head > div:first-child,
.settings-panel-head.settings-panel-head-split > div:first-child{
  min-width:0 !important;
  max-width:none !important;
}
.settings-panel-head strong{
  display:block !important;
  font-size:22px !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  color:#111 !important;
  margin:0 !important;
}
.settings-panel-head span{
  display:block !important;
  margin:6px 0 0 !important;
  font-size:14px !important;
  line-height:1.55 !important;
  color:#6b7280 !important;
}
.settings-mini-btn{
  align-self:start !important;
  min-width:120px !important;
  height:44px !important;
  padding:0 18px !important;
  border:none !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:0 12px 24px rgba(17,17,17,.14) !important;
}
.edit-form,
.settings-screen-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  display:grid !important;
  align-content:start !important;
  gap:14px !important;
  padding:2px 2px 16px !important;
  margin:0 !important;
}
.edit-footer{
  flex:0 0 auto !important;
  position:relative !important;
  bottom:auto !important;
  margin:0 !important;
  padding:0 2px 16px !important;
  background:#fff !important;
  border-top:none !important;
}
.settings-info-banner,
.settings-list,
.settings-history{margin:0 !important}
.history-top{align-items:flex-start !important}

@media (max-width: 720px){
  .edit-sheet{
    width:100% !important;
    max-width:none !important;
    left:0 !important;
    right:0 !important;
    transform:none !important;
    border-radius:28px 28px 0 0 !important;
    padding:14px 12px 0 !important;
  }
  .settings-tabs{
    gap:8px !important;
    padding:0 0 10px !important;
  }
  .settings-tab{
    min-height:44px !important;
    font-size:13px !important;
    border-radius:16px !important;
    padding:0 8px !important;
  }
  .settings-panel-head,
  .settings-panel-head.settings-panel-head-split{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .settings-panel-head strong{font-size:20px !important}
  .settings-panel-head span{font-size:13px !important}
  .settings-mini-btn{
    width:100% !important;
    min-width:0 !important;
  }
}


/* =========================
   PLAN AJUSTES · ESTILO RADAR CONOCER
========================= */
.settings-panel-head-radar strong,
.settings-panel-head-radar span,
.plan-radar-switch-row strong,
.plan-radar-switch-row small,
.plan-radar-grid span,
.plan-setting-block > label{
  color:#111 !important;
}
.edit-form-radar{
  gap:14px !important;
  padding-top:2px !important;
}
.radar-setting-block.plan-setting-block{
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:20px !important;
  background:#fff !important;
  padding:16px !important;
  margin:0 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.04) !important;
}
.plan-setting-block > label,
.plan-setting-block .radar-age-grid > label > span{
  display:block !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}
.plan-setting-block .radar-select,
.plan-setting-block .radar-age-grid input,
.plan-radar-textarea{
  width:100% !important;
  margin-top:10px !important;
  border:1px solid rgba(0,0,0,.14) !important;
  border-radius:14px !important;
  padding:12px 14px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:15px !important;
  box-shadow:none !important;
}
.plan-radar-textarea{
  min-height:118px !important;
  resize:vertical !important;
  line-height:1.5 !important;
}
.plan-radar-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-top:10px !important;
}
.plan-radar-grid label{display:block !important;}
.plan-radar-switch-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
}
.plan-radar-switch-row strong{
  display:block !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.3 !important;
}
.plan-radar-switch-row small{
  display:block !important;
  margin-top:6px !important;
  opacity:.7 !important;
  line-height:1.35 !important;
  font-size:13px !important;
}
.radar-privacy-switch{
  position:relative !important;
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:58px !important;
  height:34px !important;
  cursor:pointer !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
}
.radar-privacy-switch input{
  position:absolute !important;
  inset:0 !important;
  opacity:0 !important;
  cursor:pointer !important;
  margin:0 !important;
}
.radar-privacy-switch-ui{
  position:relative !important;
  width:58px !important;
  height:34px !important;
  border-radius:999px !important;
  background:#e8e8e8 !important;
  border:1px solid rgba(0,0,0,.08) !important;
  box-shadow:inset 0 2px 7px rgba(255,255,255,.75), inset 0 -2px 8px rgba(0,0,0,.05) !important;
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease !important;
  overflow:visible !important;
}
.radar-privacy-switch-knob{
  position:absolute !important;
  top:3px !important;
  left:3px !important;
  width:28px !important;
  height:28px !important;
  border-radius:50% !important;
  background:linear-gradient(180deg,#ffffff 0%, #f3f3f3 100%) !important;
  border:1px solid rgba(0,0,0,.09) !important;
  box-shadow:0 4px 12px rgba(0,0,0,.22), 0 1px 2px rgba(0,0,0,.10) !important;
  transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .25s ease !important;
  z-index:3 !important;
}
.radar-privacy-switch-wave{
  position:absolute !important;
  top:50% !important;
  left:17px !important;
  width:28px !important;
  height:28px !important;
  border-radius:50% !important;
  border:1px solid rgba(18,206,156,.28) !important;
  transform:translate(-50%,-50%) scale(.86) !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.radar-privacy-switch input:checked + .radar-privacy-switch-ui{
  background:linear-gradient(135deg,#14d6a0 0%, #10c992 100%) !important;
  border-color:rgba(14,149,110,.30) !important;
  box-shadow:inset 0 1px 4px rgba(255,255,255,.28), inset 0 -2px 8px rgba(0,0,0,.10), 0 6px 18px rgba(17,201,146,.18) !important;
}
.radar-privacy-switch input:checked + .radar-privacy-switch-ui .radar-privacy-switch-knob{
  transform:translateX(24px) !important;
  box-shadow:0 5px 14px rgba(0,0,0,.24), 0 2px 3px rgba(0,0,0,.12) !important;
}
.radar-privacy-switch input:checked + .radar-privacy-switch-ui .radar-privacy-switch-wave{
  left:41px !important;
  opacity:1 !important;
}
.radar-privacy-switch input:checked + .radar-privacy-switch-ui .radar-privacy-switch-wave--one{
  animation:radarSwitchPulse 1.8s ease-out infinite !important;
}
.radar-privacy-switch input:checked + .radar-privacy-switch-ui .radar-privacy-switch-wave--two{
  animation:radarSwitchPulse 1.8s ease-out .9s infinite !important;
}
.radar-privacy-switch input:focus-visible + .radar-privacy-switch-ui{
  outline:2px solid rgba(17,17,17,.18) !important;
  outline-offset:3px !important;
}
.edit-footer-radar{
  padding-top:8px !important;
}
.edit-footer-radar .radar-apply-btn,
.edit-footer-radar .edit-submit{
  width:100% !important;
  margin-top:0 !important;
  border:none !important;
  border-radius:16px !important;
  background:#111 !important;
  color:#fff !important;
  padding:14px 18px !important;
  min-height:56px !important;
  font-size:17px !important;
  font-weight:900 !important;
  box-shadow:0 16px 34px rgba(17,17,17,.16) !important;
}
@keyframes radarSwitchPulse{
  0%{transform:translate(-50%,-50%) scale(.72); opacity:.42;}
  70%{opacity:.10;}
  100%{transform:translate(-50%,-50%) scale(1.85); opacity:0;}
}
@media (max-width:720px){
  .plan-radar-grid{
    grid-template-columns:1fr !important;
  }
  .plan-radar-switch-row{
    align-items:flex-start !important;
  }
}


.pd-comments-gate,
.pd-participants-login-gate,
.pd-comment-login-note{
  margin-top:14px;
  padding:16px 18px;
  border-radius:22px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  box-shadow:var(--shadow-soft);
  display:grid;
  gap:8px;
}
.pd-comments-gate strong,
.pd-participants-login-gate strong,
.pd-comment-login-note strong{font-size:14px;font-weight:800;color:#111;line-height:1.3}
.pd-comments-gate span,
.pd-participants-login-gate span,
.pd-comment-login-note span{font-size:13px;line-height:1.55;color:var(--muted)}
.pd-inline-auth-btn{
  width:max-content;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 22px rgba(17,17,17,.12);
}
.pd-inline-auth-btn:active{transform:scale(.98)}
.pd-comment-input-wrap{display:grid;gap:12px;margin-top:8px}
.pd-comment-input[hidden],
.pd-comment-login-note[hidden],
.pd-comments-gate[hidden],
.pd-participants-login-gate[hidden],
.pd-participants-more[hidden]{display:none !important}


.pd-profile-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}
.pd-profile-link:focus-visible{outline:2px solid rgba(17,24,39,.18);outline-offset:3px;border-radius:999px}


.pd-event-alert{display:flex;flex-direction:column;gap:6px;margin:0 0 18px;padding:16px 18px;border-radius:22px;border:1px solid rgba(14,18,28,.08);background:linear-gradient(180deg, rgba(12,15,24,.96), rgba(18,22,34,.92));color:#fff;box-shadow:0 16px 34px rgba(8,10,18,.12);}
.pd-event-alert strong{font-size:15px;font-weight:800;}
.pd-event-alert span{font-size:13px;line-height:1.55;color:rgba(255,255,255,.78);}


/* =========================================================
   AJUSTES DEL PLAN · MODAL PRODUCCIÓN 2026
   Lenguaje visual unificado con los modales de Feeds.
========================================================= */
body.bf-page-plan-detail.plan-settings-modal-open {
  overflow: hidden !important;
}

body.bf-page-plan-detail #editOverlay.edit-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10020 !important;
  display: none;
  margin: 0 !important;
  background: rgba(18,18,20,.38) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  backdrop-filter: blur(14px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
  transition: opacity .22s ease, visibility 0s linear .22s !important;
}

body.bf-page-plan-detail #editOverlay.edit-overlay.open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

body.bf-page-plan-detail #editSheet.edit-sheet--production {
  position: fixed !important;
  z-index: 10021 !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(0,1fr) !important;
  width: min(880px,calc(100vw - 32px)) !important;
  max-width: 880px !important;
  height: min(88dvh,900px) !important;
  max-height: 900px !important;
  min-height: 580px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 32px !important;
  background: rgba(255,255,255,.95) !important;
  color: #171719 !important;
  box-shadow: 0 34px 100px rgba(22,22,25,.28) !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate(-50%,calc(-50% + 18px)) scale(.985) !important;
  backdrop-filter: blur(30px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(170%) !important;
  transition: opacity .22s ease,transform .22s ease,visibility 0s linear .22s !important;
}

body.bf-page-plan-detail #editSheet.edit-sheet--production.open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translate(-50%,-50%) scale(1) !important;
  transition-delay: 0s !important;
}

body.bf-page-plan-detail #editSheet .sheet-handle {
  display: none !important;
}

body.bf-page-plan-detail #editSheet .edit-header--production {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  min-height: 110px !important;
  margin: 0 !important;
  padding: 22px 22px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(23,23,25,.065) !important;
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(22px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
}

body.bf-page-plan-detail #editSheet .edit-heading {
  min-width: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

body.bf-page-plan-detail #editSheet .edit-heading-icon {
  display: grid !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  place-items: center !important;
  border-radius: 17px !important;
  color: #fff !important;
  background: linear-gradient(145deg,#ff9419,#ff5511) !important;
  box-shadow: 0 13px 28px rgba(255,91,18,.24) !important;
}

body.bf-page-plan-detail #editSheet .edit-heading-icon svg {
  width: 23px !important;
  height: 23px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.75 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.bf-page-plan-detail #editSheet .edit-kicker {
  display: block !important;
  margin: 1px 0 4px !important;
  color: #ff6412 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: .095em !important;
  text-transform: uppercase !important;
}

body.bf-page-plan-detail #editSheet .edit-title {
  margin: 0 !important;
  color: #171719 !important;
  font-size: 24px !important;
  line-height: 1.08 !important;
  font-weight: 890 !important;
  letter-spacing: -.04em !important;
}

body.bf-page-plan-detail #editSheet .edit-subtitle {
  max-width: 590px !important;
  margin: 6px 0 0 !important;
  color: #73737b !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.bf-page-plan-detail #editSheet .edit-close {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-grid !important;
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(239,239,242,.92) !important;
  color: #171719 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background .16s ease,transform .16s ease !important;
}

body.bf-page-plan-detail #editSheet .edit-close:hover {
  background: #e5e5e8 !important;
}

body.bf-page-plan-detail #editSheet .edit-close:active {
  transform: scale(.92) !important;
}

body.bf-page-plan-detail #editSheet .edit-close svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.1 !important;
  stroke-linecap: round !important;
}

body.bf-page-plan-detail #editSheet .settings-tabs {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  border-bottom: 1px solid rgba(23,23,25,.06) !important;
  background: rgba(255,255,255,.86) !important;
  overflow: visible !important;
}

body.bf-page-plan-detail #editSheet .settings-tab {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: #efeff1 !important;
  color: #62626b !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 820 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background .16s ease,color .16s ease,transform .16s ease !important;
}

body.bf-page-plan-detail #editSheet .settings-tab:hover {
  background: #e7e7ea !important;
}

body.bf-page-plan-detail #editSheet .settings-tab:active {
  transform: scale(.98) !important;
}

body.bf-page-plan-detail #editSheet .settings-tab.is-active {
  border: 0 !important;
  background: #171719 !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(23,23,25,.15) !important;
}

body.bf-page-plan-detail #editSheet .settings-panels {
  position: relative !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

body.bf-page-plan-detail #editSheet .settings-panel {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0,1fr) auto !important;
  gap: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

body.bf-page-plan-detail #editSheet .settings-panel[hidden] {
  display: none !important;
}

body.bf-page-plan-detail #editSheet .settings-panel-head,
body.bf-page-plan-detail #editSheet .settings-panel-head.settings-panel-head-split {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 18px 20px 14px !important;
  border: 0 !important;
  background: rgba(255,255,255,.86) !important;
}

body.bf-page-plan-detail #editSheet .settings-panel-head > div:first-child {
  min-width: 0 !important;
}

body.bf-page-plan-detail #editSheet .settings-panel-head strong {
  display: block !important;
  margin: 0 !important;
  color: #171719 !important;
  font-size: 18px !important;
  line-height: 1.16 !important;
  font-weight: 870 !important;
  letter-spacing: -.025em !important;
}

body.bf-page-plan-detail #editSheet .settings-panel-head span {
  display: block !important;
  max-width: 610px !important;
  margin: 5px 0 0 !important;
  color: #777780 !important;
  font-size: 12px !important;
  line-height: 1.48 !important;
}

body.bf-page-plan-detail #editSheet .settings-mini-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 15px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #171719 !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 820 !important;
  cursor: pointer !important;
}

body.bf-page-plan-detail #editSheet .edit-form,
body.bf-page-plan-detail #editSheet .settings-screen-body {
  min-height: 0 !important;
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 4px 20px 20px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(23,23,25,.18) transparent !important;
  background: transparent !important;
}

body.bf-page-plan-detail #editSheet .edit-form::-webkit-scrollbar,
body.bf-page-plan-detail #editSheet .settings-screen-body::-webkit-scrollbar {
  width: 5px !important;
}

body.bf-page-plan-detail #editSheet .edit-form::-webkit-scrollbar-thumb,
body.bf-page-plan-detail #editSheet .settings-screen-body::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: rgba(23,23,25,.18) !important;
}

body.bf-page-plan-detail #editSheet .radar-setting-block,
body.bf-page-plan-detail #editSheet .settings-info-banner,
body.bf-page-plan-detail #editSheet .admin-person-row,
body.bf-page-plan-detail #editSheet .history-row,
body.bf-page-plan-detail #editSheet .settings-empty {
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid rgba(23,23,25,.065) !important;
  border-radius: 22px !important;
  background: rgba(247,247,249,.88) !important;
  box-shadow: none !important;
}

body.bf-page-plan-detail #editSheet .radar-setting-block > label,
body.bf-page-plan-detail #editSheet .radar-setting-block > .radar-setting-row {
  margin: 0 !important;
}

body.bf-page-plan-detail #editSheet .radar-setting-block > label:first-child {
  display: block !important;
  margin-bottom: 10px !important;
  color: #313136 !important;
  font-size: 12px !important;
  font-weight: 820 !important;
}

body.bf-page-plan-detail #editSheet input,
body.bf-page-plan-detail #editSheet textarea,
body.bf-page-plan-detail #editSheet select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(23,23,25,.085) !important;
  border-radius: 16px !important;
  outline: none !important;
  background: #fff !important;
  color: #171719 !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: 14px !important;
  transition: border-color .16s ease,box-shadow .16s ease !important;
}

body.bf-page-plan-detail #editSheet textarea {
  min-height: 112px !important;
  padding: 13px 14px !important;
  line-height: 1.5 !important;
  resize: vertical !important;
}

body.bf-page-plan-detail #editSheet input:focus,
body.bf-page-plan-detail #editSheet textarea:focus,
body.bf-page-plan-detail #editSheet select:focus {
  border-color: rgba(23,23,25,.22) !important;
  box-shadow: 0 0 0 4px rgba(23,23,25,.055) !important;
}

body.bf-page-plan-detail #editSheet .radar-age-grid,
body.bf-page-plan-detail #editSheet .plan-radar-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 10px !important;
}

body.bf-page-plan-detail #editSheet .radar-age-grid label,
body.bf-page-plan-detail #editSheet .plan-radar-stack label {
  min-width: 0 !important;
  display: grid !important;
  gap: 7px !important;
  color: #777780 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
}

body.bf-page-plan-detail #editSheet .plan-radar-stack {
  margin-top: 10px !important;
}

body.bf-page-plan-detail #editSheet .plan-radar-switch-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

body.bf-page-plan-detail #editSheet .plan-radar-switch-row > div {
  min-width: 0 !important;
}

body.bf-page-plan-detail #editSheet .plan-radar-switch-row strong {
  display: block !important;
  color: #303035 !important;
  font-size: 13px !important;
  font-weight: 830 !important;
}

body.bf-page-plan-detail #editSheet .plan-radar-switch-row small {
  display: block !important;
  margin-top: 4px !important;
  color: #7a7a82 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

body.bf-page-plan-detail #editSheet .edit-footer {
  position: relative !important;
  z-index: 3 !important;
  margin: 0 !important;
  padding: 12px 20px calc(16px + env(safe-area-inset-bottom,0px)) !important;
  border: 0 !important;
  border-top: 1px solid rgba(23,23,25,.065) !important;
  background: rgba(255,255,255,.9) !important;
  backdrop-filter: blur(22px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(150%) !important;
}

body.bf-page-plan-detail #editSheet .edit-submit {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg,#ff8a16 0%,#ff5b13 100%) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(255,91,18,.24) !important;
  font-size: 14px !important;
  font-weight: 860 !important;
  cursor: pointer !important;
}

body.bf-page-plan-detail #editSheet .edit-submit:disabled {
  opacity: .62 !important;
  box-shadow: none !important;
  cursor: wait !important;
}

body.bf-page-plan-detail #editSheet .edit-submit.is-loading {
  background: #a9a9af !important;
}

body.bf-page-plan-detail #editSheet .settings-list,
body.bf-page-plan-detail #editSheet .settings-history {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
}

@media (max-width: 720px) {
  body.bf-page-plan-detail #editSheet.edit-sheet--production {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: min(92dvh,900px) !important;
    max-height: 92dvh !important;
    min-height: 560px !important;
    border-radius: 30px 30px 0 0 !important;
    transform: translateY(30px) scale(.995) !important;
  }

  body.bf-page-plan-detail #editSheet.edit-sheet--production.open {
    transform: translateY(0) scale(1) !important;
  }

  body.bf-page-plan-detail #editSheet .sheet-handle {
    position: absolute !important;
    z-index: 8 !important;
    top: 7px !important;
    left: 50% !important;
    display: block !important;
    width: 42px !important;
    height: 4px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(23,23,25,.14) !important;
    transform: translateX(-50%) !important;
  }

  body.bf-page-plan-detail #editSheet .edit-header--production {
    min-height: 91px !important;
    padding: 19px 15px 14px !important;
  }

  body.bf-page-plan-detail #editSheet .edit-heading-icon {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
  }

  body.bf-page-plan-detail #editSheet .edit-heading-icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  body.bf-page-plan-detail #editSheet .edit-kicker {
    display: none !important;
  }

  body.bf-page-plan-detail #editSheet .edit-title {
    font-size: 20px !important;
  }

  body.bf-page-plan-detail #editSheet .edit-subtitle {
    margin-top: 4px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body.bf-page-plan-detail #editSheet .edit-close {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
  }

  body.bf-page-plan-detail #editSheet .settings-tabs {
    gap: 6px !important;
    padding: 10px 12px !important;
  }

  body.bf-page-plan-detail #editSheet .settings-tab {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 8px !important;
    border-radius: 13px !important;
    font-size: 11.5px !important;
  }

  body.bf-page-plan-detail #editSheet .settings-panel-head,
  body.bf-page-plan-detail #editSheet .settings-panel-head.settings-panel-head-split {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 10px !important;
    padding: 14px 14px 10px !important;
  }

  body.bf-page-plan-detail #editSheet .settings-panel-head strong {
    font-size: 16px !important;
  }

  body.bf-page-plan-detail #editSheet .settings-panel-head span {
    font-size: 11px !important;
  }

  body.bf-page-plan-detail #editSheet .settings-mini-btn {
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }

  body.bf-page-plan-detail #editSheet .edit-form,
  body.bf-page-plan-detail #editSheet .settings-screen-body {
    gap: 10px !important;
    padding: 3px 12px 15px !important;
  }

  body.bf-page-plan-detail #editSheet .radar-setting-block,
  body.bf-page-plan-detail #editSheet .settings-info-banner,
  body.bf-page-plan-detail #editSheet .admin-person-row,
  body.bf-page-plan-detail #editSheet .history-row,
  body.bf-page-plan-detail #editSheet .settings-empty {
    padding: 14px !important;
    border-radius: 19px !important;
  }

  body.bf-page-plan-detail #editSheet input,
  body.bf-page-plan-detail #editSheet textarea,
  body.bf-page-plan-detail #editSheet select {
    min-height: 46px !important;
    font-size: 16px !important;
  }

  body.bf-page-plan-detail #editSheet .edit-footer {
    padding: 10px 12px calc(12px + env(safe-area-inset-bottom,0px)) !important;
  }
}

@media (max-width: 430px) {
  body.bf-page-plan-detail #editSheet .radar-age-grid,
  body.bf-page-plan-detail #editSheet .plan-radar-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  body.bf-page-plan-detail #editSheet .settings-panel-head span {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.bf-page-plan-detail #editOverlay,
  body.bf-page-plan-detail #editSheet {
    transition: none !important;
  }
}

/* =========================================================
   AJUSTES DEL PLAN · BLOQUEO TÁCTIL Y VERIFICADOS 2026
========================================================= */
body.bf-page-plan-detail.plan-settings-modal-open {
  overscroll-behavior: none !important;
}

body.bf-page-plan-detail #editOverlay.edit-overlay {
  overscroll-behavior: none !important;
  touch-action: none !important;
}

body.bf-page-plan-detail #editSheet.edit-sheet--production {
  overscroll-behavior: none !important;
  touch-action: pan-y !important;
}

body.bf-page-plan-detail #editSheet .edit-header--production,
body.bf-page-plan-detail #editSheet .settings-tabs,
body.bf-page-plan-detail #editSheet .settings-panel-head,
body.bf-page-plan-detail #editSheet .edit-footer {
  touch-action: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

body.bf-page-plan-detail #editSheet .edit-form,
body.bf-page-plan-detail #editSheet .settings-screen-body {
  touch-action: pan-y !important;
  overscroll-behavior-y: contain !important;
  overscroll-behavior-x: none !important;
  -webkit-overflow-scrolling: touch !important;
  contain: layout paint !important;
}

body.bf-page-plan-detail #editSheet input,
body.bf-page-plan-detail #editSheet textarea,
body.bf-page-plan-detail #editSheet select,
body.bf-page-plan-detail #editSheet button {
  touch-action: manipulation !important;
}

body.bf-page-plan-detail .pd-person-name,
body.bf-page-plan-detail #editSheet .admin-person-name {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
}

body.bf-page-plan-detail .pd-name-verified {
  position: static !important;
  display: inline-block !important;
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  vertical-align: middle !important;
  filter: drop-shadow(0 3px 7px rgba(17,17,17,.12)) !important;
}

body.bf-page-plan-detail #editSheet .admin-person-main {
  min-width: 0 !important;
}

body.bf-page-plan-detail #editSheet .admin-person-copy,
body.bf-page-plan-detail #editSheet .admin-person-name span {
  min-width: 0 !important;
}

@media (max-width: 720px) {
  body.bf-page-plan-detail #editSheet .sheet-handle {
    display: none !important;
  }
}

/* =========================================================
   PLAN FINALIZADO · AJUSTES EN SOLO LECTURA
========================================================= */
body.bf-page-plan-detail #editSheet .settings-readonly-banner {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0 18px 12px;
  padding: 13px 14px;
  border: 1px solid rgba(17,17,19,.08);
  border-radius: 17px;
  background: rgba(247,247,248,.94);
  color: #111113;
}
body.bf-page-plan-detail #editSheet .settings-readonly-banner svg {
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: #111113;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.bf-page-plan-detail #editSheet .settings-readonly-banner div { display: grid; gap: 3px; }
body.bf-page-plan-detail #editSheet .settings-readonly-banner strong { font-size: 13px; font-weight: 900; }
body.bf-page-plan-detail #editSheet .settings-readonly-banner span { color: #6a6a72; font-size: 12px; line-height: 1.45; }

body.bf-page-plan-detail #editSheet.is-readonly .edit-form input,
body.bf-page-plan-detail #editSheet.is-readonly .edit-form textarea,
body.bf-page-plan-detail #editSheet.is-readonly .edit-form select,
body.bf-page-plan-detail #editSheet.is-readonly .edit-form .radar-privacy-switch {
  cursor: default !important;
}
body.bf-page-plan-detail #editSheet.is-readonly .edit-form input:disabled,
body.bf-page-plan-detail #editSheet.is-readonly .edit-form textarea:disabled,
body.bf-page-plan-detail #editSheet.is-readonly .edit-form select:disabled {
  opacity: 1 !important;
  color: #62626b !important;
  -webkit-text-fill-color: #62626b !important;
  background: #f5f5f6 !important;
  border-color: rgba(17,17,19,.07) !important;
}
body.bf-page-plan-detail #editSheet.is-readonly #submitEditPlan {
  cursor: not-allowed !important;
  background: #d9d9dd !important;
  color: #686870 !important;
  box-shadow: none !important;
}

@media (max-width: 720px) {
  body.bf-page-plan-detail #editSheet .settings-readonly-banner {
    margin: 0 12px 10px;
    padding: 11px 12px;
    border-radius: 15px;
  }
}

/* ======================================================================
   PLAN DETALLES · REDISEÑO BANANA FRIENDS 2026
   Solo presentación: conserva IDs, acciones, endpoints y modales existentes.
====================================================================== */
body.bf-page-plan-detail{
  --pd-orange:#ff6a00;
  --pd-orange-deep:#e84f00;
  --pd-orange-soft:rgba(255,106,0,.10);
  --pd-ink:#111113;
  --pd-muted:#6f7078;
  --pd-line:rgba(17,17,19,.075);
  --pd-glass:rgba(255,255,255,.82);
  --pd-shadow:0 24px 70px rgba(22,22,26,.09);
  --pd-shadow-soft:0 12px 34px rgba(22,22,26,.065);
  background:
    radial-gradient(780px 380px at 8% 5%,rgba(255,106,0,.08),transparent 66%),
    radial-gradient(680px 420px at 94% 18%,rgba(255,176,84,.09),transparent 64%),
    #f7f7f8 !important;
}
body.bf-page-plan-detail::before{display:none !important}
body.bf-page-plan-detail .pd-app{min-height:100dvh;padding-bottom:24px}
body.bf-page-plan-detail .pd-page{
  width:min(1220px,100%);
  margin:0 auto;
  padding:10px 20px 56px;
}

/* Subcabecera propia de la vista, sin competir con el shell principal */
body.bf-page-plan-detail .pd-topbar{
  position:relative !important;
  top:auto !important;
  z-index:10;
  width:min(1220px,100%);
  margin:0 auto;
  background:transparent !important;
  border:0 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.bf-page-plan-detail .pd-topbar-inner{
  width:100%;
  min-height:70px;
  padding:10px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
body.bf-page-plan-detail .pd-topbar-left{gap:11px}
body.bf-page-plan-detail .pd-topbar-title{
  font-size:17px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.025em;
  color:var(--pd-ink);
}
body.bf-page-plan-detail .pd-top-btn{
  width:42px;
  height:42px;
  border:1px solid var(--pd-line);
  border-radius:50%;
  background:rgba(255,255,255,.88);
  color:var(--pd-ink);
  box-shadow:0 8px 22px rgba(22,22,26,.07);
  backdrop-filter:blur(16px) saturate(145%);
  -webkit-backdrop-filter:blur(16px) saturate(145%);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
body.bf-page-plan-detail .pd-top-btn:hover{background:#fff;box-shadow:0 12px 28px rgba(22,22,26,.1);transform:translateY(-1px)}
body.bf-page-plan-detail .pd-top-btn:focus-visible{outline:3px solid rgba(255,106,0,.2);outline-offset:3px}

/* Hero principal */
body.bf-page-plan-detail .pd-hero-card{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  min-height:590px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:34px;
  overflow:hidden;
  background:rgba(255,255,255,.88);
  box-shadow:var(--pd-shadow);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}
body.bf-page-plan-detail .pd-hero-media-wrap{
  min-height:590px;
  max-height:none;
  aspect-ratio:auto;
  background:#e9e9eb;
  isolation:isolate;
}
body.bf-page-plan-detail .pd-hero-img{object-fit:cover;transform:scale(1.001)}
body.bf-page-plan-detail .pd-hero-overlay{
  background:
    linear-gradient(180deg,rgba(10,10,12,.08) 0%,rgba(10,10,12,.03) 42%,rgba(10,10,12,.62) 100%),
    linear-gradient(90deg,transparent 70%,rgba(10,10,12,.08) 100%);
}
body.bf-page-plan-detail .pd-hero-status-row{
  position:absolute;
  z-index:3;
  top:20px;
  left:20px;
  display:flex;
}
body.bf-page-plan-detail .pd-status-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#19191c;
  font-size:12px;
  font-weight:850;
  box-shadow:0 10px 26px rgba(0,0,0,.12);
  backdrop-filter:blur(18px) saturate(155%);
  -webkit-backdrop-filter:blur(18px) saturate(155%);
}
body.bf-page-plan-detail .pd-status-dot{width:8px;height:8px;border-radius:50%;background:#23a455;box-shadow:0 0 0 4px rgba(35,164,85,.13)}
body.bf-page-plan-detail .pd-status-badge.is-finished .pd-status-dot{background:#111113;box-shadow:0 0 0 4px rgba(17,17,19,.11)}
body.bf-page-plan-detail .pd-hero-floating-meta{
  left:20px;
  right:20px;
  bottom:20px;
  gap:8px;
}
body.bf-page-plan-detail .pd-chip{
  gap:8px;
  min-height:38px;
  padding:0 13px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
body.bf-page-plan-detail .pd-chip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.bf-page-plan-detail .pd-chip-light{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.5);
  color:#161619;
  box-shadow:0 10px 24px rgba(0,0,0,.1);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
}
body.bf-page-plan-detail .pd-hero-body{
  padding:38px 34px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:24px;
  min-width:0;
}
body.bf-page-plan-detail .pd-kicker{
  margin-bottom:10px;
  color:var(--pd-orange-deep);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
body.bf-page-plan-detail .pd-name{
  margin:0;
  max-width:15ch;
  font-size:clamp(36px,4vw,58px);
  line-height:.99;
  font-weight:900;
  letter-spacing:-.055em;
  color:var(--pd-ink);
  overflow-wrap:anywhere;
}
body.bf-page-plan-detail .pd-location-line{
  margin-top:16px;
  gap:9px;
  color:var(--pd-muted);
  font-size:14px;
  line-height:1.5;
  font-weight:650;
}
body.bf-page-plan-detail .pd-location-line svg{stroke:var(--pd-orange-deep);width:18px;height:18px}
body.bf-page-plan-detail .pd-event-alert{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px;
  border:1px solid rgba(17,17,19,.08);
  border-radius:18px;
  background:#f2f2f3;
  color:var(--pd-ink);
}
body.bf-page-plan-detail .pd-event-alert-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:12px;background:#111;color:#fff}
body.bf-page-plan-detail .pd-event-alert-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.bf-page-plan-detail .pd-event-alert>div{display:grid;gap:3px;min-width:0}
body.bf-page-plan-detail .pd-event-alert strong{font-size:13px;font-weight:900;color:#111}
body.bf-page-plan-detail .pd-event-alert span{font-size:12px;line-height:1.45;color:#66676f}

/* Resumen */
body.bf-page-plan-detail .pd-stats-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.bf-page-plan-detail .pd-stat-card{
  position:relative;
  min-height:94px;
  padding:15px;
  border:1px solid var(--pd-line);
  border-radius:20px;
  background:#f7f7f8;
  box-shadow:none;
  overflow:hidden;
}
body.bf-page-plan-detail .pd-stat-card::after{
  content:'';
  position:absolute;
  right:-24px;
  bottom:-30px;
  width:72px;
  height:72px;
  border-radius:50%;
  background:var(--pd-orange-soft);
  pointer-events:none;
}
body.bf-page-plan-detail .pd-stat-icon{display:grid;place-items:center;width:28px;height:28px;margin-bottom:10px;border-radius:10px;background:#fff;color:#17171a;border:1px solid var(--pd-line)}
body.bf-page-plan-detail .pd-stat-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.bf-page-plan-detail .pd-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#808087}
body.bf-page-plan-detail .pd-stat-card strong{position:relative;z-index:1;margin-top:5px;font-size:17px;line-height:1.2;font-weight:900;color:#161619;overflow-wrap:anywhere}
body.bf-page-plan-detail .pd-stat-capacity[data-capacity-state="available"] .pd-stat-icon{color:#16834a}
body.bf-page-plan-detail .pd-stat-capacity[data-capacity-state="medium"] .pd-stat-icon{color:#b66b00}
body.bf-page-plan-detail .pd-stat-capacity[data-capacity-state="full"] .pd-stat-icon{color:#c52828}

/* Acciones */
body.bf-page-plan-detail .pd-actions{gap:9px}
body.bf-page-plan-detail .pd-action-btn{
  min-height:64px;
  padding:10px 12px;
  gap:10px;
  border:1px solid var(--pd-line);
  border-radius:19px;
  background:#fff;
  color:var(--pd-ink);
  box-shadow:0 7px 20px rgba(22,22,26,.055);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
body.bf-page-plan-detail .pd-action-btn:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(22,22,26,.08);border-color:rgba(17,17,19,.13)}
body.bf-page-plan-detail .pd-action-btn:focus-visible{outline:3px solid rgba(255,106,0,.19);outline-offset:2px}
body.bf-page-plan-detail .pd-action-icon{width:38px;height:38px;border-radius:13px;background:#f5f5f6;border:0}
body.bf-page-plan-detail .pd-action-icon svg{width:19px;height:19px}
body.bf-page-plan-detail .pd-action-copy{gap:2px}
body.bf-page-plan-detail .pd-action-copy strong{font-size:13px;font-weight:850}
body.bf-page-plan-detail .pd-action-copy small{font-size:10px;line-height:1.25;color:#818188}
body.bf-page-plan-detail .pd-action-btn-primary{
  background:linear-gradient(135deg,var(--pd-orange) 0%,#ff8a1c 100%);
  border-color:transparent;
  color:#fff;
  box-shadow:0 15px 30px rgba(255,106,0,.22);
}
body.bf-page-plan-detail .pd-action-btn-primary .pd-action-icon{background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.15)}
body.bf-page-plan-detail .pd-action-btn-primary .pd-action-copy small{color:rgba(255,255,255,.8)}
body.bf-page-plan-detail .pd-action-btn.is-joined{background:#111113;border-color:#111113;box-shadow:0 15px 30px rgba(17,17,19,.18)}
body.bf-page-plan-detail .pd-action-btn.is-banned{background:#7d1818;border-color:#7d1818}
body.bf-page-plan-detail .pd-action-btn.is-disabled{background:#ececef;border-color:#ececef;color:#55565e;box-shadow:none}

/* Contenido */
body.bf-page-plan-detail .pd-content-grid{
  margin-top:20px;
  grid-template-columns:minmax(0,1.42fr) minmax(330px,.72fr);
  gap:20px;
}
body.bf-page-plan-detail .pd-main-col,
body.bf-page-plan-detail .pd-side-col{gap:20px}
body.bf-page-plan-detail .pd-side-col{align-content:start}
body.bf-page-plan-detail .pd-card{
  padding:26px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:28px;
  background:var(--pd-glass);
  box-shadow:var(--pd-shadow-soft);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
}
body.bf-page-plan-detail .pd-section-head{margin-bottom:20px;align-items:center}
body.bf-page-plan-detail .pd-section-kicker{margin-bottom:7px;color:var(--pd-orange-deep);font-size:10px;letter-spacing:.13em;font-weight:900}
body.bf-page-plan-detail .pd-card h2{font-size:25px;line-height:1.08;font-weight:900;letter-spacing:-.035em;color:var(--pd-ink)}
body.bf-page-plan-detail .pd-section-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--pd-orange-soft);color:var(--pd-orange-deep)}
body.bf-page-plan-detail .pd-section-symbol svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.bf-page-plan-detail .pd-desc{font-size:15px;line-height:1.78;color:#313238;word-break:break-word}
body.bf-page-plan-detail .pd-description-card{min-height:210px}

/* Detalles */
body.bf-page-plan-detail .pd-detail-stack{gap:8px}
body.bf-page-plan-detail .pd-detail-item{
  padding:12px;
  gap:12px;
  border:1px solid var(--pd-line);
  border-radius:18px;
  background:rgba(248,248,249,.9);
}
body.bf-page-plan-detail .pd-detail-icon{width:40px;height:40px;border-radius:13px;background:#fff;color:var(--pd-orange-deep);border:1px solid var(--pd-line)}
body.bf-page-plan-detail .pd-detail-icon svg{width:18px;height:18px;stroke:currentColor}
body.bf-page-plan-detail .pd-detail-copy{gap:3px}
body.bf-page-plan-detail .pd-detail-copy span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#8a8a91}
body.bf-page-plan-detail .pd-detail-copy strong{font-size:13px;line-height:1.4;font-weight:800;color:#19191c}

/* Ubicación */
body.bf-page-plan-detail .pd-location-card .pd-location-box{
  position:relative;
  gap:13px;
  padding:17px;
  border:1px solid var(--pd-line);
  border-radius:20px;
  background:linear-gradient(145deg,#f8f8f9,#f2f2f4);
  overflow:hidden;
}
body.bf-page-plan-detail .pd-location-pin{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#fff;color:var(--pd-orange-deep);border:1px solid var(--pd-line);box-shadow:0 8px 18px rgba(22,22,26,.05)}
body.bf-page-plan-detail .pd-location-pin svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.bf-page-plan-detail .pd-location-text{font-size:14px;line-height:1.55;font-weight:750;color:#252529}
body.bf-page-plan-detail .pd-loc-btn{min-height:48px;border-radius:15px;border:0;background:#111113;box-shadow:0 12px 25px rgba(17,17,19,.14);font-size:13px}
body.bf-page-plan-detail .pd-loc-btn:hover{background:#242428}

/* Comentarios */
body.bf-page-plan-detail .pd-comments-card{padding-bottom:18px}
body.bf-page-plan-detail .pd-comments-hint{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#f1f1f3;
  color:#777880;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
body.bf-page-plan-detail .pd-comments-list{gap:9px;max-height:620px;overflow-y:auto;padding:0 3px 12px 0;scrollbar-width:thin;scrollbar-color:rgba(17,17,19,.15) transparent}
body.bf-page-plan-detail .pd-comment{
  gap:11px;
  padding:13px;
  border:1px solid var(--pd-line);
  border-radius:19px;
  background:#f8f8f9;
}
body.bf-page-plan-detail .pd-avatar{width:40px;height:40px;box-shadow:0 5px 12px rgba(22,22,26,.07)}
body.bf-page-plan-detail .pd-cname{font-size:13px;font-weight:850}
body.bf-page-plan-detail .pd-cdate{font-size:10px;color:#8b8b92}
body.bf-page-plan-detail .pd-ctext{font-size:13px;line-height:1.55;color:#33343a}
body.bf-page-plan-detail .pd-comment-input-wrap{
  position:sticky;
  bottom:0;
  z-index:4;
  margin:8px -8px -4px;
  padding:12px 8px 4px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.96) 28%);
}
body.bf-page-plan-detail .pd-comment-input{gap:9px;margin:0}
body.bf-page-plan-detail .pd-comment-input textarea{
  min-height:50px;
  padding:13px 17px;
  border:1px solid var(--pd-line);
  border-radius:18px;
  background:#f7f7f8;
  box-shadow:none;
  font-size:14px;
}
body.bf-page-plan-detail .pd-comment-input textarea:focus{border-color:rgba(255,106,0,.38);box-shadow:0 0 0 4px rgba(255,106,0,.09)}
body.bf-page-plan-detail .pd-comment-input button{width:50px;min-width:50px;height:50px;background:linear-gradient(135deg,var(--pd-orange),#ff8b21);box-shadow:0 12px 24px rgba(255,106,0,.22)}

/* Participantes */
body.bf-page-plan-detail .pd-participants-list{gap:8px}
body.bf-page-plan-detail .pd-person-row{
  min-height:60px;
  padding:9px 10px;
  border:1px solid var(--pd-line);
  border-radius:18px;
  background:#f8f8f9;
  box-shadow:none;
}
body.bf-page-plan-detail .pd-person-row:hover{background:#fff;border-color:rgba(17,17,19,.13);box-shadow:0 9px 20px rgba(22,22,26,.055)}
body.bf-page-plan-detail .pd-person-avatar{width:42px;height:42px}
body.bf-page-plan-detail .pd-person-name{font-size:13px;font-weight:850}
body.bf-page-plan-detail .pd-person-role{font-size:10px}
body.bf-page-plan-detail .pd-more-btn{min-height:44px;border-radius:15px;background:#f3f3f4;border:1px solid var(--pd-line);font-size:12px;box-shadow:none}
body.bf-page-plan-detail .pd-more-btn:hover{background:#ebebed}

/* Estado y accesibilidad */
body.bf-page-plan-detail .pd-muted{padding:22px 12px;color:#85858d;font-size:13px}
body.bf-page-plan-detail a:focus-visible,
body.bf-page-plan-detail button:focus-visible,
body.bf-page-plan-detail textarea:focus-visible{outline:3px solid rgba(255,106,0,.2);outline-offset:2px}
body.bf-page-plan-detail .verified-badge-img{width:17px;height:17px}

@media (min-width:981px){
  body.bf-page-plan-detail .pd-side-col{position:sticky;top:18px}
}

@media (max-width:1080px){
  body.bf-page-plan-detail .pd-hero-card{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);min-height:540px}
  body.bf-page-plan-detail .pd-hero-media-wrap{min-height:540px}
  body.bf-page-plan-detail .pd-hero-body{padding:30px 27px}
  body.bf-page-plan-detail .pd-name{font-size:clamp(34px,4vw,48px)}
  body.bf-page-plan-detail .pd-action-copy small{display:none}
  body.bf-page-plan-detail .pd-action-btn{justify-content:center;text-align:center}
}

@media (max-width:900px){
  body.bf-page-plan-detail .pd-page{padding-inline:14px}
  body.bf-page-plan-detail .pd-topbar-inner{padding-inline:14px}
  body.bf-page-plan-detail .pd-hero-card{grid-template-columns:1fr;min-height:0;border-radius:30px}
  body.bf-page-plan-detail .pd-hero-media-wrap{min-height:440px;aspect-ratio:16/10}
  body.bf-page-plan-detail .pd-hero-body{padding:26px}
  body.bf-page-plan-detail .pd-name{max-width:none}
  body.bf-page-plan-detail .pd-content-grid{grid-template-columns:1fr}
  body.bf-page-plan-detail .pd-side-col{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  body.bf-page-plan-detail .pd-participants-card{grid-column:1/-1}
}

@media (max-width:640px){
  body.bf-page-plan-detail{background:#f7f7f8 !important}
  body.bf-page-plan-detail .pd-app{padding-bottom:84px}
  body.bf-page-plan-detail .pd-topbar-inner{min-height:58px;padding:7px 12px}
  body.bf-page-plan-detail .pd-topbar-title{font-size:16px}
  body.bf-page-plan-detail .pd-top-btn{width:38px;height:38px}
  body.bf-page-plan-detail .pd-page{padding:4px 10px 34px}
  body.bf-page-plan-detail .pd-hero-card{border-radius:25px;box-shadow:0 17px 44px rgba(22,22,26,.1)}
  body.bf-page-plan-detail .pd-hero-media-wrap{min-height:330px;aspect-ratio:4/3}
  body.bf-page-plan-detail .pd-hero-status-row{top:14px;left:14px}
  body.bf-page-plan-detail .pd-status-badge{min-height:32px;padding:0 11px;font-size:11px}
  body.bf-page-plan-detail .pd-hero-floating-meta{left:13px;right:13px;bottom:13px;gap:6px;flex-wrap:nowrap;overflow:hidden}
  body.bf-page-plan-detail .pd-chip{min-width:0;min-height:34px;padding:0 10px;font-size:10px;overflow:hidden;text-overflow:ellipsis}
  body.bf-page-plan-detail .pd-chip:first-child{flex:1}
  body.bf-page-plan-detail .pd-hero-body{padding:22px 17px 18px;gap:19px}
  body.bf-page-plan-detail .pd-kicker{font-size:10px;margin-bottom:8px}
  body.bf-page-plan-detail .pd-name{font-size:34px;line-height:1;letter-spacing:-.05em}
  body.bf-page-plan-detail .pd-location-line{margin-top:12px;font-size:13px}
  body.bf-page-plan-detail .pd-stats-grid{gap:7px}
  body.bf-page-plan-detail .pd-stat-card{min-height:88px;padding:12px;border-radius:17px}
  body.bf-page-plan-detail .pd-stat-icon{width:25px;height:25px;margin-bottom:8px;border-radius:9px}
  body.bf-page-plan-detail .pd-stat-card strong{font-size:15px}
  body.bf-page-plan-detail .pd-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  body.bf-page-plan-detail .pd-actions-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.bf-page-plan-detail .pd-action-btn{min-width:0;min-height:58px;padding:8px 5px;display:flex;flex-direction:column;justify-content:center;gap:5px;border-radius:17px}
  body.bf-page-plan-detail .pd-action-icon{width:29px;height:29px;border-radius:10px}
  body.bf-page-plan-detail .pd-action-icon svg{width:16px;height:16px}
  body.bf-page-plan-detail .pd-action-copy strong{font-size:10px;white-space:nowrap}
  body.bf-page-plan-detail .pd-action-copy small{display:none}
  body.bf-page-plan-detail .pd-content-grid{margin-top:10px;gap:10px}
  body.bf-page-plan-detail .pd-main-col,
  body.bf-page-plan-detail .pd-side-col{display:grid;grid-template-columns:1fr;gap:10px}
  body.bf-page-plan-detail .pd-card{padding:18px 15px;border-radius:23px;box-shadow:0 10px 28px rgba(22,22,26,.065)}
  body.bf-page-plan-detail .pd-section-head{margin-bottom:15px}
  body.bf-page-plan-detail .pd-card h2{font-size:21px}
  body.bf-page-plan-detail .pd-section-symbol{width:36px;height:36px;border-radius:12px}
  body.bf-page-plan-detail .pd-desc{font-size:14px;line-height:1.7}
  body.bf-page-plan-detail .pd-comments-hint{min-height:27px;padding:0 8px;font-size:9px}
  body.bf-page-plan-detail .pd-comments-list{max-height:none}
  body.bf-page-plan-detail .pd-comment{padding:11px;border-radius:17px}
  body.bf-page-plan-detail .pd-comment-input-wrap{margin-inline:-4px;padding-inline:4px}
  body.bf-page-plan-detail .pd-comment-input textarea{font-size:16px}
  body.bf-page-plan-detail .pd-details-card{order:1}
  body.bf-page-plan-detail .pd-location-card{order:2}
  body.bf-page-plan-detail .pd-participants-card{order:3}
  body.bf-page-plan-detail .pd-event-alert{padding:12px;border-radius:16px}
}

@media (prefers-reduced-motion:reduce){
  body.bf-page-plan-detail *,body.bf-page-plan-detail *::before,body.bf-page-plan-detail *::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;animation-iteration-count:1 !important}
}

/* ======================================================================
   PLAN DETALLES · ALINEACIÓN CON PERFIL
   La hoja se carga después del shell general para conservar la geometría
   propia de esta vista y evitar una segunda barra de navegación.
====================================================================== */
body.bf-page-plan-detail > .pd-app{
  width:min(calc(100% - 48px),1180px) !important;
  max-width:1180px !important;
  min-height:calc(100vh - 180px) !important;
  margin:0 auto 56px !important;
  padding:0 !important;
  overflow:visible !important;
}
body.bf-page-plan-detail .pd-page{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:34px 0 56px !important;
}
body.bf-page-plan-detail .pd-topbar{display:none !important}

body.bf-page-plan-detail .pd-toolbar{
  display:flex;
  align-items:center;
  gap:13px;
  width:100%;
  margin:0 0 18px;
}
body.bf-page-plan-detail .pd-toolbar-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
body.bf-page-plan-detail .pd-toolbar-copy span{
  color:var(--pd-orange-deep,#e84f00);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}
body.bf-page-plan-detail .pd-toolbar-copy strong{
  overflow:hidden;
  color:var(--pd-ink,#111113);
  font-size:.98rem;
  font-weight:760;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.bf-page-plan-detail .pd-toolbar-back{
  display:grid;
  width:46px;
  height:46px;
  flex:0 0 46px;
  place-items:center;
  padding:0;
  border:1px solid var(--pd-line,rgba(17,17,19,.075));
  border-radius:50%;
  background:rgba(255,255,255,.9);
  color:var(--pd-ink,#111113);
  box-shadow:0 9px 24px rgba(24,20,18,.06);
  cursor:pointer;
  transition:transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease;
}
body.bf-page-plan-detail .pd-toolbar-back:hover{
  border-color:rgba(24,24,27,.17);
  box-shadow:0 13px 30px rgba(24,20,18,.1);
  transform:translateY(-2px);
}
body.bf-page-plan-detail .pd-toolbar-back:focus-visible{
  outline:3px solid rgba(255,91,26,.28);
  outline-offset:3px;
}
body.bf-page-plan-detail .pd-toolbar-back svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.bf-page-plan-detail .pd-hero-card,
body.bf-page-plan-detail .pd-content-grid{
  width:100%;
  min-width:0;
  margin-inline:auto;
}
body.bf-page-plan-detail .pd-hero-body{
  min-width:0;
  align-items:stretch;
}
body.bf-page-plan-detail .pd-hero-copy{
  width:100%;
  min-width:0;
  margin:0;
  text-align:left;
}
body.bf-page-plan-detail .pd-kicker,
body.bf-page-plan-detail .pd-name,
body.bf-page-plan-detail .pd-location-line{
  margin-left:0;
  margin-right:0;
}

@media (max-width:720px){
  body.bf-page-plan-detail > .pd-app{
    width:min(calc(100% - 24px),1180px) !important;
    margin:0 auto 92px !important;
  }
  body.bf-page-plan-detail .pd-page{
    padding:18px 0 34px !important;
  }
  body.bf-page-plan-detail .pd-toolbar{
    margin-bottom:14px;
  }
  body.bf-page-plan-detail .pd-toolbar-back{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
}

@media (max-width:430px){
  body.bf-page-plan-detail > .pd-app{
    width:calc(100% - 20px) !important;
  }
  body.bf-page-plan-detail .pd-page{
    padding-top:14px !important;
  }
}

/* ======================================================================
   PLAN DETALLES · ALINEACIÓN MÓVIL REAL
   Todos los bloques del hero comparten exactamente el mismo ancho útil.
====================================================================== */
body.bf-page-plan-detail .pd-hero-body{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
body.bf-page-plan-detail .pd-hero-copy{
  display:grid !important;
  justify-items:center !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 auto !important;
  text-align:center !important;
}
body.bf-page-plan-detail .pd-kicker,
body.bf-page-plan-detail .pd-name,
body.bf-page-plan-detail .pd-location-line{
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
body.bf-page-plan-detail .pd-location-line{
  width:100% !important;
  min-width:0 !important;
  justify-content:center !important;
  overflow-wrap:anywhere !important;
}
body.bf-page-plan-detail .pd-event-alert,
body.bf-page-plan-detail .pd-stats-grid,
body.bf-page-plan-detail .pd-actions{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
  transform:none !important;
}
body.bf-page-plan-detail .pd-event-alert{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  justify-content:stretch !important;
  text-align:left !important;
  overflow:hidden !important;
}
body.bf-page-plan-detail .pd-event-alert > div{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  text-align:left !important;
}
body.bf-page-plan-detail .pd-event-alert strong,
body.bf-page-plan-detail .pd-event-alert span{
  display:block !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
body.bf-page-plan-detail .pd-stats-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-columns:minmax(0,1fr) !important;
  justify-content:stretch !important;
  overflow:visible !important;
}
body.bf-page-plan-detail .pd-stat-card{
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  overflow:hidden !important;
}
body.bf-page-plan-detail .pd-stat-card strong{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  text-align:center !important;
}
body.bf-page-plan-detail .pd-stat-icon{
  margin-left:auto !important;
  margin-right:auto !important;
}
body.bf-page-plan-detail .pd-actions,
body.bf-page-plan-detail .pd-actions-2,
body.bf-page-plan-detail .pd-actions-3{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-columns:minmax(0,1fr) !important;
  justify-content:stretch !important;
  overflow:visible !important;
}
body.bf-page-plan-detail .pd-action-btn,
body.bf-page-plan-detail .pd-action-btn.is-disabled{
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  justify-content:center !important;
  text-align:center !important;
  overflow:hidden !important;
}
body.bf-page-plan-detail .pd-action-copy{
  min-width:0 !important;
  max-width:100% !important;
  align-items:center !important;
  text-align:center !important;
}
body.bf-page-plan-detail .pd-action-copy strong,
body.bf-page-plan-detail .pd-action-copy small{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center !important;
}
body.bf-page-plan-detail .pd-actions-3 .pd-action-btn:last-child{
  grid-column:1 / -1 !important;
  width:calc(50% - 4px) !important;
  justify-self:center !important;
}
body.bf-page-plan-detail .pd-hero-status-row{
  left:50% !important;
  right:auto !important;
  width:max-content !important;
  max-width:calc(100% - 28px) !important;
  justify-content:center !important;
  transform:translateX(-50%) !important;
}
body.bf-page-plan-detail .pd-status-badge{
  justify-content:center !important;
  text-align:center !important;
}
body.bf-page-plan-detail .pd-status-badge.is-finished{
  background:#111113 !important;
  border-color:#111113 !important;
  color:#fff !important;
}
body.bf-page-plan-detail .pd-status-badge.is-finished .pd-status-dot{
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(255,255,255,.16) !important;
}

@media (max-width:640px){
  body.bf-page-plan-detail .pd-hero-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  body.bf-page-plan-detail .pd-hero-body{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
  body.bf-page-plan-detail .pd-event-alert{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:10px !important;
    text-align:center !important;
  }
  body.bf-page-plan-detail .pd-event-alert > div,
  body.bf-page-plan-detail .pd-event-alert strong,
  body.bf-page-plan-detail .pd-event-alert span{
    text-align:center !important;
  }
  body.bf-page-plan-detail .pd-stats-grid,
  body.bf-page-plan-detail .pd-actions,
  body.bf-page-plan-detail .pd-actions-2,
  body.bf-page-plan-detail .pd-actions-3{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    justify-content:center !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:7px !important;
  }
  body.bf-page-plan-detail .pd-stat-card,
  body.bf-page-plan-detail .pd-action-btn,
  body.bf-page-plan-detail .pd-action-btn.is-disabled{
    flex:0 0 calc((100% - 7px) / 2) !important;
    width:calc((100% - 7px) / 2) !important;
    max-width:calc((100% - 7px) / 2) !important;
    min-width:0 !important;
  }
  body.bf-page-plan-detail .pd-actions-3 .pd-action-btn:last-child{
    flex-basis:calc((100% - 7px) / 2) !important;
    width:calc((100% - 7px) / 2) !important;
    max-width:calc((100% - 7px) / 2) !important;
  }
  body.bf-page-plan-detail .pd-stat-card strong{
    font-size:clamp(13px,3.6vw,15px) !important;
    line-height:1.18 !important;
  }
  body.bf-page-plan-detail .pd-action-copy strong{
    font-size:10px !important;
    line-height:1.15 !important;
  }
}

@media (max-width:360px){
  body.bf-page-plan-detail .pd-stat-card,
  body.bf-page-plan-detail .pd-action-btn,
  body.bf-page-plan-detail .pd-action-btn.is-disabled,
  body.bf-page-plan-detail .pd-actions-3 .pd-action-btn:last-child{
    flex-basis:100% !important;
    width:100% !important;
    max-width:100% !important;
  }
}

/* ======================================================================
   PLAN DETALLES · CORRECCIÓN DEFINITIVA SOLO MÓVIL
   Mantiene escritorio intacto y fuerza una única geometría interior.
====================================================================== */
@media (max-width: 640px) {
  html,
  body.bf-page-plan-detail {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  body.bf-page-plan-detail > .pd-app {
    display: block !important;
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    min-width: 0 !important;
    margin: 0 auto 92px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.bf-page-plan-detail .pd-page,
  body.bf-page-plan-detail .pd-hero-card,
  body.bf-page-plan-detail .pd-content-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.bf-page-plan-detail .pd-page {
    padding: 14px 0 34px !important;
    overflow: hidden !important;
  }

  body.bf-page-plan-detail .pd-hero-card {
    display: block !important;
    overflow: hidden !important;
  }

  body.bf-page-plan-detail .pd-hero-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 22px 14px 18px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.bf-page-plan-detail .pd-hero-body > *,
  body.bf-page-plan-detail .pd-hero-copy,
  body.bf-page-plan-detail .pd-event-alert,
  body.bf-page-plan-detail .pd-stats-grid,
  body.bf-page-plan-detail .pd-actions,
  body.bf-page-plan-detail .pd-actions-2,
  body.bf-page-plan-detail .pd-actions-3 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  body.bf-page-plan-detail .pd-event-alert {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
    overflow: hidden !important;
  }

  body.bf-page-plan-detail .pd-event-alert > div,
  body.bf-page-plan-detail .pd-event-alert strong,
  body.bf-page-plan-detail .pd-event-alert span {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.bf-page-plan-detail .pd-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  body.bf-page-plan-detail .pd-stat-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    min-inline-size: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.bf-page-plan-detail .pd-stat-card strong,
  body.bf-page-plan-detail .pd-stat-label {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.bf-page-plan-detail .pd-actions,
  body.bf-page-plan-detail .pd-actions-2,
  body.bf-page-plan-detail .pd-actions-3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  body.bf-page-plan-detail .pd-action-btn,
  body.bf-page-plan-detail .pd-action-btn.is-disabled {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    inline-size: 100% !important;
    width: 100% !important;
    max-inline-size: 100% !important;
    max-width: 100% !important;
    min-inline-size: 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 9px 6px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-align: center !important;
  }

  body.bf-page-plan-detail .pd-actions-3 .pd-action-btn:last-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  body.bf-page-plan-detail .pd-action-copy,
  body.bf-page-plan-detail .pd-action-copy strong,
  body.bf-page-plan-detail .pd-action-copy small {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 340px) {
  body.bf-page-plan-detail .pd-stats-grid,
  body.bf-page-plan-detail .pd-actions,
  body.bf-page-plan-detail .pd-actions-2,
  body.bf-page-plan-detail .pd-actions-3 {
    grid-template-columns: 1fr !important;
  }

  body.bf-page-plan-detail .pd-actions-3 .pd-action-btn:last-child {
    grid-column: auto !important;
  }
}

/* ======================================================================
   PLAN DETALLES · ALINEACIÓN IZQUIERDA DEL ENCABEZADO EN MÓVIL
   Mantiene las métricas y las acciones centradas, y alinea el estado,
   título, ubicación y aviso con el borde interior del resto de módulos.
====================================================================== */
@media (max-width: 640px) {
  body.bf-page-plan-detail .pd-hero-status-row {
    left: 14px !important;
    right: auto !important;
    top: 14px !important;
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    justify-content: flex-start !important;
    transform: none !important;
  }

  body.bf-page-plan-detail .pd-status-badge {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  body.bf-page-plan-detail .pd-hero-copy,
  body.bf-page-plan-detail .pd-kicker,
  body.bf-page-plan-detail .pd-name,
  body.bf-page-plan-detail .pd-location-line {
    text-align: left !important;
    align-self: stretch !important;
  }

  body.bf-page-plan-detail .pd-hero-copy {
    display: block !important;
  }

  body.bf-page-plan-detail .pd-name {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.bf-page-plan-detail .pd-location-line {
    justify-content: flex-start !important;
  }

  body.bf-page-plan-detail .pd-event-alert {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: start !important;
    justify-items: stretch !important;
    justify-content: stretch !important;
    gap: 12px !important;
    text-align: left !important;
  }

  body.bf-page-plan-detail .pd-event-alert-icon {
    justify-self: start !important;
  }

  body.bf-page-plan-detail .pd-event-alert > div,
  body.bf-page-plan-detail .pd-event-alert strong,
  body.bf-page-plan-detail .pd-event-alert span {
    width: auto !important;
    max-width: 100% !important;
    text-align: left !important;
  }
}

/* ======================================================================
   AJUSTES DEL PLAN · REDISEÑO FINAL 2026
   Alineado visualmente con el modal "Crear plan".
   Solo presentación: conserva IDs, tabs, acciones y endpoints existentes.
====================================================================== */
body.bf-page-plan-detail #editOverlay.edit-overlay{
  background:rgba(0,0,0,.58) !important;
  backdrop-filter:blur(7px) !important;
  -webkit-backdrop-filter:blur(7px) !important;
}

body.bf-page-plan-detail #editSheet.edit-sheet--production{
  grid-template-rows:auto auto minmax(0,1fr) !important;
  width:min(760px,calc(100vw - 48px)) !important;
  max-width:760px !important;
  height:min(88dvh,920px) !important;
  max-height:920px !important;
  min-height:580px !important;
  border:1px solid rgba(0,0,0,.06) !important;
  border-radius:30px !important;
  background:#fff !important;
  box-shadow:0 28px 70px rgba(0,0,0,.20) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.bf-page-plan-detail #editSheet .edit-header--production{
  min-height:0 !important;
  padding:20px 20px 16px !important;
  border-bottom:0 !important;
  background:#fff !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

body.bf-page-plan-detail #editSheet .edit-heading{
  display:block !important;
  padding-right:8px !important;
}

body.bf-page-plan-detail #editSheet .edit-heading-icon{
  display:none !important;
}

body.bf-page-plan-detail #editSheet .edit-kicker{
  margin:0 0 6px !important;
  color:rgba(0,0,0,.46) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}

body.bf-page-plan-detail #editSheet .edit-title{
  color:#0d0d0d !important;
  font-size:22px !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
}

body.bf-page-plan-detail #editSheet .edit-subtitle{
  max-width:54ch !important;
  margin:6px 0 0 !important;
  color:rgba(0,0,0,.58) !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

body.bf-page-plan-detail #editSheet .edit-close{
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  background:#f4f4f4 !important;
  color:#111 !important;
}
body.bf-page-plan-detail #editSheet .edit-close:hover{background:#ececec !important}
body.bf-page-plan-detail #editSheet .edit-close:focus-visible{
  outline:3px solid rgba(17,17,17,.10) !important;
  outline-offset:2px !important;
}

body.bf-page-plan-detail #editSheet .settings-tabs{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:0 20px 14px !important;
  border-bottom:1px solid rgba(0,0,0,.07) !important;
  background:#fff !important;
}

body.bf-page-plan-detail #editSheet .settings-tab{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:46px !important;
  height:46px !important;
  padding:0 13px !important;
  border:1px solid rgba(0,0,0,.07) !important;
  border-radius:16px !important;
  background:#f6f6f6 !important;
  color:#56565d !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:850 !important;
}
body.bf-page-plan-detail #editSheet .settings-tab:hover{
  background:#f0f0f0 !important;
  color:#111 !important;
}
body.bf-page-plan-detail #editSheet .settings-tab.is-active{
  border-color:#111 !important;
  background:#111 !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.15) !important;
}
body.bf-page-plan-detail #editSheet .settings-tab-icon{
  display:grid !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  place-items:center !important;
}
body.bf-page-plan-detail #editSheet .settings-tab-icon svg{
  width:18px !important;
  height:18px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.bf-page-plan-detail #editSheet .settings-tab-label{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body.bf-page-plan-detail #editSheet .settings-panels{
  background:#fff !important;
}

body.bf-page-plan-detail #editSheet .settings-panel-head,
body.bf-page-plan-detail #editSheet .settings-panel-head.settings-panel-head-split{
  padding:16px 20px 10px !important;
  background:#fff !important;
}
body.bf-page-plan-detail #editSheet .settings-panel-head strong{
  color:#111 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:-.015em !important;
}
body.bf-page-plan-detail #editSheet .settings-panel-head span{
  max-width:580px !important;
  margin-top:5px !important;
  color:rgba(0,0,0,.52) !important;
  font-size:12px !important;
  line-height:1.45 !important;
}

body.bf-page-plan-detail #editSheet .edit-form,
body.bf-page-plan-detail #editSheet .settings-screen-body{
  gap:12px !important;
  padding:2px 20px 20px !important;
  background:#fff !important;
}

body.bf-page-plan-detail #editSheet .radar-setting-block,
body.bf-page-plan-detail #editSheet .settings-info-banner,
body.bf-page-plan-detail #editSheet .admin-person-row,
body.bf-page-plan-detail #editSheet .history-row,
body.bf-page-plan-detail #editSheet .settings-empty{
  padding:16px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 12px 26px rgba(0,0,0,.04) !important;
}

body.bf-page-plan-detail #editSheet .radar-setting-block > label:first-child{
  margin-bottom:8px !important;
  color:#111 !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:900 !important;
}

body.bf-page-plan-detail #editSheet .radar-age-grid label,
body.bf-page-plan-detail #editSheet .plan-radar-stack label{
  gap:7px !important;
  color:rgba(0,0,0,.60) !important;
  font-size:12px !important;
  font-weight:800 !important;
}

body.bf-page-plan-detail #editSheet input,
body.bf-page-plan-detail #editSheet textarea,
body.bf-page-plan-detail #editSheet select{
  min-height:50px !important;
  padding:0 15px !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:18px !important;
  background:#fbfbfb !important;
  color:#121212 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75) !important;
  font-size:14px !important;
}
body.bf-page-plan-detail #editSheet textarea{
  min-height:122px !important;
  padding:14px 15px !important;
}
body.bf-page-plan-detail #editSheet input:hover,
body.bf-page-plan-detail #editSheet textarea:hover,
body.bf-page-plan-detail #editSheet select:hover{
  border-color:rgba(0,0,0,.16) !important;
}
body.bf-page-plan-detail #editSheet input:focus,
body.bf-page-plan-detail #editSheet textarea:focus,
body.bf-page-plan-detail #editSheet select:focus{
  border-color:#111 !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(0,0,0,.05) !important;
}

body.bf-page-plan-detail #editSheet .radar-age-grid,
body.bf-page-plan-detail #editSheet .plan-radar-grid{
  gap:12px !important;
}
body.bf-page-plan-detail #editSheet .plan-radar-stack{margin-top:12px !important}

body.bf-page-plan-detail #editSheet .plan-radar-switch-row{
  min-height:58px !important;
  gap:16px !important;
}
body.bf-page-plan-detail #editSheet .plan-radar-switch-row strong{
  color:#111 !important;
  font-size:13px !important;
  font-weight:900 !important;
}
body.bf-page-plan-detail #editSheet .plan-radar-switch-row small{
  max-width:54ch !important;
  color:rgba(0,0,0,.52) !important;
  font-size:12px !important;
}

body.bf-page-plan-detail #editSheet .settings-mini-btn{
  min-height:40px !important;
  height:40px !important;
  padding:0 14px !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:14px !important;
  background:#f4f4f4 !important;
  color:#111 !important;
  font-size:12px !important;
  font-weight:850 !important;
}
body.bf-page-plan-detail #editSheet .settings-mini-btn:hover{background:#ececec !important}

body.bf-page-plan-detail #editSheet .settings-info-banner{
  background:#f7f7f7 !important;
  box-shadow:none !important;
}
body.bf-page-plan-detail #editSheet .settings-info-banner strong{
  color:#111 !important;
  font-size:13px !important;
  font-weight:900 !important;
}
body.bf-page-plan-detail #editSheet .settings-info-banner span{
  color:rgba(0,0,0,.54) !important;
  font-size:12px !important;
  line-height:1.45 !important;
}

body.bf-page-plan-detail #editSheet .edit-footer{
  padding:14px 20px 18px !important;
  border-top:1px solid rgba(0,0,0,.08) !important;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(22px) !important;
  -webkit-backdrop-filter:blur(22px) !important;
}
body.bf-page-plan-detail #editSheet .edit-submit{
  min-height:56px !important;
  height:56px !important;
  border-radius:20px !important;
  background:#111 !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(0,0,0,.18) !important;
  font-size:15px !important;
  font-weight:900 !important;
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease !important;
}
body.bf-page-plan-detail #editSheet .edit-submit:hover:not(:disabled){
  background:#1b1b1b !important;
  box-shadow:0 16px 34px rgba(0,0,0,.21) !important;
}
body.bf-page-plan-detail #editSheet .edit-submit:active:not(:disabled){transform:scale(.99) !important}
body.bf-page-plan-detail #editSheet .edit-submit.is-loading{background:#777 !important}

body.bf-page-plan-detail #editSheet .settings-readonly-banner{
  margin:0 20px 12px !important;
  border-radius:18px !important;
  background:#f5f5f5 !important;
}

@media (max-width:720px){
  body.bf-page-plan-detail #editSheet.edit-sheet--production{
    width:100% !important;
    height:min(92dvh,900px) !important;
    max-height:92dvh !important;
    min-height:560px !important;
    border-width:1px 0 0 !important;
    border-radius:28px 28px 0 0 !important;
  }
  body.bf-page-plan-detail #editSheet .edit-header--production{
    padding:20px 15px 14px !important;
  }
  body.bf-page-plan-detail #editSheet .edit-title{font-size:20px !important}
  body.bf-page-plan-detail #editSheet .edit-subtitle{
    max-width:42ch !important;
    font-size:12px !important;
  }
  body.bf-page-plan-detail #editSheet .edit-close{
    flex-basis:40px !important;
    width:40px !important;
    height:40px !important;
  }
  body.bf-page-plan-detail #editSheet .settings-tabs{
    gap:6px !important;
    padding:0 12px 12px !important;
  }
  body.bf-page-plan-detail #editSheet .settings-tab{
    gap:6px !important;
    min-height:42px !important;
    height:42px !important;
    padding:0 8px !important;
    border-radius:14px !important;
    font-size:11.5px !important;
  }
  body.bf-page-plan-detail #editSheet .settings-tab-icon,
  body.bf-page-plan-detail #editSheet .settings-tab-icon svg{
    width:16px !important;
    height:16px !important;
    flex-basis:16px !important;
  }
  body.bf-page-plan-detail #editSheet .settings-panel-head,
  body.bf-page-plan-detail #editSheet .settings-panel-head.settings-panel-head-split{
    padding:14px 12px 9px !important;
  }
  body.bf-page-plan-detail #editSheet .settings-panel-head strong{font-size:14px !important}
  body.bf-page-plan-detail #editSheet .edit-form,
  body.bf-page-plan-detail #editSheet .settings-screen-body{
    gap:10px !important;
    padding:2px 12px 14px !important;
  }
  body.bf-page-plan-detail #editSheet .radar-setting-block,
  body.bf-page-plan-detail #editSheet .settings-info-banner,
  body.bf-page-plan-detail #editSheet .admin-person-row,
  body.bf-page-plan-detail #editSheet .history-row,
  body.bf-page-plan-detail #editSheet .settings-empty{
    padding:14px !important;
    border-radius:20px !important;
  }
  body.bf-page-plan-detail #editSheet input,
  body.bf-page-plan-detail #editSheet textarea,
  body.bf-page-plan-detail #editSheet select{
    min-height:48px !important;
    font-size:16px !important;
  }
  body.bf-page-plan-detail #editSheet .edit-footer{
    padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px)) !important;
  }
  body.bf-page-plan-detail #editSheet .edit-submit{
    min-height:54px !important;
    height:54px !important;
    border-radius:18px !important;
  }
  body.bf-page-plan-detail #editSheet .settings-readonly-banner{
    margin:0 12px 10px !important;
  }
}

@media (max-width:420px){
  body.bf-page-plan-detail #editSheet .settings-tab-label{font-size:11px !important}
  body.bf-page-plan-detail #editSheet .settings-tab{gap:4px !important;padding:0 6px !important}
}

@media (max-width:350px){
  body.bf-page-plan-detail #editSheet .settings-tab-icon{display:none !important}
}

/* =========================================================
   AJUSTES DEL PLAN · SHEET MÓVIL ESTABLE
   Misma estrategia que Crear plan: anclado al borde inferior.
   No depende de visualViewport, evitando saltos tras pickers nativos.
========================================================= */
@media (max-width:720px){
  body.bf-page-plan-detail #editSheet.edit-sheet--production{
    top:auto !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100% !important;
    max-width:none !important;
    height:min(93dvh,900px) !important;
    max-height:93dvh !important;
    min-height:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-left:0 !important;
    border-radius:28px 28px 0 0 !important;
    transform:translateY(105%) !important;
    opacity:1 !important;
  }

  body.bf-page-plan-detail #editSheet.edit-sheet--production.open{
    transform:translateY(0) !important;
  }

  body.bf-page-plan-detail #editSheet .sheet-handle{
    position:absolute !important;
    z-index:10 !important;
    top:7px !important;
    left:50% !important;
    display:block !important;
    width:36px !important;
    height:4px !important;
    margin:0 !important;
    border-radius:999px !important;
    background:rgba(23,23,25,.16) !important;
    transform:translateX(-50%) !important;
  }

  body.bf-page-plan-detail.plan-settings-modal-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }

  body.bf-page-plan-detail #editSheet input,
  body.bf-page-plan-detail #editSheet textarea,
  body.bf-page-plan-detail #editSheet select{
    font-size:16px !important;
  }
}

/* ==========================================================
   MODO EMBEBIDO: AJUSTES ABIERTOS DIRECTAMENTE DESDE PLANES
   ========================================================== */
body.bf-settings-embed {
  margin: 0 !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  background: transparent !important;
}

body.bf-settings-embed > :not(#editOverlay):not(#editSheet):not(#uiModalOverlay):not(#uiModal):not(script) {
  display: none !important;
}

body.bf-settings-embed #editOverlay {
  z-index: 20 !important;
}

body.bf-settings-embed #editSheet {
  z-index: 21 !important;
}

body.bf-settings-embed .edit-sheet {
  max-height: min(92dvh, 900px) !important;
}

@media (max-width: 700px) {
  body.bf-settings-embed .edit-sheet {
    max-height: calc(100dvh - env(safe-area-inset-top, 0px)) !important;
  }
}
