
/* v20 PWA 설치/알림 안내 UI: v10 레이아웃은 건드리지 않고 보조 패널만 추가 */
.pwa-setup-button,.app-install-button{border:1px solid rgba(29,78,216,.18);background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px;box-shadow:0 8px 18px rgba(29,78,216,.10);cursor:pointer;white-space:nowrap;}
.app-install-button{background:#0f172a;color:#fff;border-color:#0f172a;}
.pwa-setup-button.ready{background:#1d4ed8;color:#fff;border-color:#1d4ed8;}
.pwa-setup-dim{position:fixed;inset:0;background:rgba(2,6,23,.55);z-index:99998;display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(8px);}
.pwa-setup-dim.show{display:flex;}
.pwa-setup-panel{width:min(520px,100%);max-height:min(720px,92dvh);overflow:auto;background:#fff;border-radius:28px;box-shadow:0 28px 90px rgba(2,6,23,.32);border:1px solid rgba(15,23,42,.08);}
.pwa-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 22px 14px;border-bottom:1px solid #e5e7eb;}
.pwa-setup-head strong{display:block;font-size:20px;color:#0f172a;letter-spacing:-.5px;}
.pwa-setup-head span{display:block;margin-top:5px;font-size:13px;line-height:1.5;color:#64748b;font-weight:700;}
.pwa-setup-close{width:36px;height:36px;border:0;border-radius:50%;background:#f1f5f9;color:#0f172a;font-size:22px;font-weight:900;cursor:pointer;}
.pwa-setup-body{padding:18px 22px 22px;display:grid;gap:14px;}
.pwa-card{border:1px solid #e5e7eb;border-radius:20px;padding:16px;background:#f8fafc;}
.pwa-card.primary{background:linear-gradient(135deg,#eff6ff,#fff);border-color:#bfdbfe;}
.pwa-card h3{margin:0 0 8px;font-size:16px;color:#0f172a;}
.pwa-card p{margin:0;color:#475569;font-size:14px;line-height:1.65;font-weight:650;}
.pwa-card ol{margin:10px 0 0;padding-left:20px;color:#334155;font-size:14px;line-height:1.75;font-weight:700;}
.pwa-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.pwa-actions button{border:0;border-radius:14px;padding:11px 14px;font-weight:950;cursor:pointer;}
.pwa-actions .primary{background:#1d4ed8;color:#fff;}
.pwa-actions .secondary{background:#e2e8f0;color:#0f172a;}
.pwa-status{min-height:20px;font-size:13px;color:#475569;font-weight:800;line-height:1.5;}
.pwa-status.ok{color:#047857;}.pwa-status.warn{color:#b45309;}.pwa-status.err{color:#dc2626;}
@media(max-width:620px){.pwa-setup-dim{align-items:flex-end;padding:0}.pwa-setup-panel{border-radius:26px 26px 0 0;max-height:88dvh}.pwa-setup-head{padding:18px 18px 12px}.pwa-setup-body{padding:14px 18px 20px}.pwa-setup-button{padding:7px 10px;font-size:12px}}

/* v21: 로그인 후 첫 실행 알림 유도 카드 */
.pwa-notify-intro-dim{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(2,6,23,.48);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:18px;}
.pwa-notify-intro{width:min(440px,100%);border-radius:30px;background:linear-gradient(145deg,#ffffff,#f1f6ff);box-shadow:0 32px 100px rgba(2,6,23,.35);border:1px solid rgba(191,219,254,.9);padding:26px 24px 22px;color:#0f172a;text-align:left;}
.pwa-notify-badge{display:inline-flex;align-items:center;border-radius:999px;background:#dbeafe;color:#1d4ed8;padding:7px 11px;font-size:12px;font-weight:1000;letter-spacing:.3px;margin-bottom:14px;}
.pwa-notify-intro h2{margin:0 0 9px;font-size:25px;line-height:1.15;letter-spacing:-.8px;font-weight:1000;color:#07182d;}
.pwa-notify-intro p{margin:0;font-size:15px;line-height:1.65;color:#475569;font-weight:750;word-break:keep-all;}
.pwa-notify-benefits{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 18px;}
.pwa-notify-benefits span{display:inline-flex;align-items:center;border-radius:999px;background:#fff;border:1px solid #dbeafe;color:#1e3a8a;padding:7px 10px;font-size:12px;font-weight:950;}
.pwa-notify-intro-actions{display:flex;gap:9px;}
.pwa-notify-intro-actions button{height:46px;border:0;border-radius:16px;padding:0 16px;font-size:15px;font-weight:1000;cursor:pointer;}
.pwa-notify-intro-actions .primary{flex:1;background:#1d4ed8;color:#fff;box-shadow:0 14px 28px rgba(29,78,216,.22);}
.pwa-notify-intro-actions .secondary{background:#e2e8f0;color:#0f172a;}
.pwa-notify-intro-skip{display:block;margin:13px auto 0;border:0;background:transparent;color:#64748b;font-size:13px;font-weight:900;cursor:pointer;padding:5px 8px;}
@media(max-width:620px){.pwa-notify-intro-dim{align-items:flex-end;padding:12px}.pwa-notify-intro{border-radius:28px;padding:22px 20px 18px}.pwa-notify-intro h2{font-size:22px}.pwa-notify-intro-actions button{height:44px}}

/* v44: 홈 주요 기사 카드가 좁은 패널에서 겹치거나 잘리지 않도록 리스트형으로 고정 */
body #homePage.final-home-page .final-news-panel{
  min-height:248px!important;
  overflow:hidden!important;
}
body #homePage.final-home-page .final-news-panel .home-news-head{
  flex:0 0 auto!important;
  margin:0 0 12px!important;
  padding:0 0 10px!important;
}
body #homePage.final-home-page .final-news-panel .home-news-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  max-height:184px!important;
  overflow:auto!important;
  padding-right:4px!important;
  align-content:start!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
  display:grid!important;
  grid-template-columns:minmax(64px,84px) minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  height:auto!important;
  padding:9px 11px!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card::after,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child::after{
  display:none!important;
}
body #homePage.final-home-page .final-news-panel .home-news-tag,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child .home-news-tag{
  grid-column:1!important;
  width:100%!important;
  min-width:0!important;
  height:23px!important;
  min-height:23px!important;
  padding:0 8px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  justify-content:center!important;
  font-size:10.5px!important;
  line-height:1!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card h3,
body #homePage.final-home-page .final-news-panel .home-news-card:first-child h3{
  grid-column:2!important;
  min-width:0!important;
  margin:0!important;
  color:inherit!important;
  font-size:13px!important;
  line-height:1.28!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
}
body #homePage.final-home-page .final-news-panel .home-news-card p,
body #homePage.final-home-page .final-news-panel .home-news-card small{
  display:none!important;
}
@media(max-width:1180px){
  body #homePage.final-home-page .final-news-panel .home-news-grid{
    max-height:none!important;
    overflow:visible!important;
  }
}
@media(max-width:760px){
  body #homePage.final-home-page .final-news-panel{
    min-height:0!important;
  }
  body #homePage.final-home-page .final-news-panel .home-news-card,
  body #homePage.final-home-page .final-news-panel .home-news-card:first-child{
    grid-template-columns:minmax(58px,78px) minmax(0,1fr)!important;
  }
}
