/* Announcement-only surfaces: never alter shared business dialogs. */
#login-popup-dialog { padding:0; border:1px solid #e1e8f1; border-radius:20px; background:#fff; max-width:calc(100vw - 32px); overflow:hidden; }
#login-popup-dialog::backdrop, #login-popup-crop-dialog::backdrop { background:rgba(30,38,52,.28); backdrop-filter:blur(3px); }
#login-popup-dialog .login-popup-card { position:relative; display:flex; flex-direction:column; width:min(820px,calc(100vw - 32px)); max-height:calc(100dvh - 56px); padding:0; gap:0; border-radius:20px; background:#fff; color:#344054; overflow:hidden; }
#login-popup-content { min-height:0; overflow:auto; overscroll-behavior:contain; }
#login-popup-dialog .lp-cover { display:block; width:100%; aspect-ratio:16/7; object-fit:cover; border-radius:0; background:#edf3fa; }
#login-popup-dialog .lp-welcome { position:relative; display:flex; align-items:center; width:100%; min-height:220px; aspect-ratio:3/1; background:url('/assets/login-popup-welcome.webp') center/cover no-repeat; }
#login-popup-dialog .lp-welcome h3 { width:47%; margin:0 5% 0 48%; color:#2d517f; font-size:clamp(19px,2.2vw,29px); font-weight:700; line-height:1.55; overflow-wrap:anywhere; text-wrap:balance; }
#login-popup-dialog .lp-copy { padding:30px 36px 20px; }
#login-popup-dialog .lp-copy h3 { margin:0 0 21px; padding:0; color:#253b59; font-size:24px; line-height:1.5; font-weight:700; overflow-wrap:anywhere; }
#login-popup-dialog .login-popup-body { font-size:15px; line-height:1.9; color:#526174; overflow-wrap:anywhere; }
#login-popup-dialog .login-popup-body p { margin:0 0 14px; }
#login-popup-dialog .login-popup-body ul, #login-popup-dialog .login-popup-body ol { padding-left:24px; margin:12px 0; }
#login-popup-dialog .login-popup-body li { margin:7px 0; }
#login-popup-dialog .login-popup-body img { display:block; max-width:100%; height:auto; margin:18px auto; }
#login-popup-dialog .dialog-actions { position:relative; flex-shrink:0; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin:0; padding:20px 36px 28px; background:#fff; }
#login-popup-dialog .dialog-actions button { min-width:126px; min-height:44px; padding:10px 23px; border-radius:10px; font-size:14px; }
#login-popup-dialog .dialog-actions .button-link { background:#f7f9fc; color:#5274a4; border:1px solid #dce5f1; border-radius:10px; padding:11px 18px; font-size:14px; }
#login-popup-dialog .dialog-x { position:absolute; z-index:3; top:14px; right:14px; width:32px; height:32px; padding:8px; background:#ffffffe8; border:1px solid #e2e9f3; border-radius:50%; color:#60748e; box-shadow:none; }
#login-popup-dialog .dialog-x:hover { background:#fff; transform:none; }
#system-login-popups-app .lp-image-field { gap:10px; }
#system-login-popups-app .system-grid { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
#system-login-popups-app .business-table { min-width:0; width:100%; table-layout:fixed; }
#system-login-popups-app .business-table th, #system-login-popups-app .business-table td { white-space:normal; overflow-wrap:anywhere; padding:12px 8px; }
#system-login-popups-app .business-table th:first-child { width:23%; }
#system-login-popups-app .business-table th:last-child { width:30%; }
#system-login-popups-app .business-table .row-actions { display:table-cell; }
#system-login-popups-app .business-table .row-actions button { margin:2px; }
#system-login-popups-app .lp-edit-hint, #system-login-popups-app .lp-actions-editor small { color:#7c8ca2; font-size:12px; line-height:1.7; }
#system-login-popups-app .lp-rich-field { margin:18px 0; }
#system-login-popups-app .lp-rich-field > label { display:block; margin-bottom:9px; }
#system-login-popups-app .editor-toolbar { display:flex; flex-wrap:wrap; gap:6px; padding:10px; border:1px solid #e1e7f0; border-radius:10px 10px 0 0; background:#fff; }
#system-login-popups-app .editor-toolbar button { min-width:32px; height:32px; padding:4px 8px; }
#system-login-popups-app .editor-toolbar button[aria-pressed=true] { color:#346ddd; background:#eaf1ff; border-color:#b9cdf5; }
#system-login-popups-app .editor-toolbar label { display:flex; align-items:center; gap:5px; width:auto; }
#system-login-popups-app .editor-toolbar select { width:65px; min-height:32px; padding:4px; }
#system-login-popups-app .rich-editor { min-height:200px; max-height:440px; border-radius:0 0 10px 10px; font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
#system-login-popups-app .rich-editor p, #system-login-popups-app .rich-editor div { margin:0 0 8px; }
#system-login-popups-app .rich-editor ul, #system-login-popups-app .rich-editor ol { padding-left:26px; }
#system-login-popups-app .rich-editor img { display:block; max-width:100%; height:auto; margin:14px auto; cursor:pointer; }
#system-login-popups-app .lp-detail-settings { padding:12px; background:#f0f4f9; border-radius:10px; }
#system-login-popups-app .lp-detail-settings small { color:#7c8ca2; }
#system-login-popups-app .lp-actions-editor { display:grid; gap:12px; }
#system-login-popups-app .lp-action-row { display:grid; grid-template-columns:minmax(80px,1fr) minmax(90px,1fr) 32px; gap:8px; padding:12px; background:#fff; border:1px solid #e1e7f0; border-radius:10px; margin-bottom:10px; }
#system-login-popups-app [data-action-target] { grid-column:1/3; grid-row:2; }
#system-login-popups-app [data-lp-remove-action] { grid-column:3; grid-row:1/3; padding:2px; }
#system-login-popups-app .lp-status { display:inline-block; padding:4px 8px; border-radius:6px; font-size:12px; color:#7a6e50; background:#fbf4df; white-space:nowrap; }
#system-login-popups-app .lp-status.published { color:#288460; background:#eaf7f0; }
#login-popup-dialog .lp-details { margin-top:22px; border-top:1px solid #e8edf4; padding-top:16px; }
#login-popup-dialog .lp-details summary { display:flex; gap:10px; color:#4776ba; cursor:pointer; list-style:none; font-size:14px; }
#login-popup-dialog .lp-details summary::-webkit-details-marker { display:none; }
#login-popup-dialog .lp-details[open] summary span { transform:rotate(180deg); }
#login-popup-dialog .lp-details .login-popup-body { margin-top:18px; }
@media(max-width:1100px) { #system-login-popups-app .system-grid { grid-template-columns:minmax(0,1fr); } }
#system-login-popups-app .lp-toggle-options { display:flex; align-items:center; flex-wrap:wrap; gap:18px 32px; }
#system-login-popups-app .lp-toggle-options .toggle-line { margin:0; }
#system-login-popups-app .lp-frequency-hint { color:#7c8ca2; font-size:12px; line-height:1.6; }
#system-login-popups-app .lp-image-field small { color:#7c8ca2; font-size:12px; line-height:1.6; font-weight:400; }
#system-login-popups-app [data-popup-image-preview] { display:flex; align-items:center; gap:12px; }
#system-login-popups-app [data-popup-image-preview] img { width:160px; aspect-ratio:16/7; object-fit:cover; border:1px solid #e1e7f0; border-radius:9px; }
#login-popup-crop-dialog { padding:0; border:1px solid #dce5f1; border-radius:18px; background:#fff; max-width:calc(100vw - 32px); }
#login-popup-crop-dialog .lp-crop-card { width:min(760px,calc(100vw - 32px)); padding:26px; max-height:calc(100dvh - 48px); overflow:auto; box-sizing:border-box; color:#344054; }
#login-popup-crop-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
#login-popup-crop-dialog h3 { margin:6px 0 0; font-size:22px; color:#2c4568; }
#login-popup-crop-dialog .lp-kicker { color:#7890b1; font-size:10px; letter-spacing:1.5px; }
#login-popup-crop-dialog header button { background:transparent; border:0; padding:5px 10px; font-size:24px; color:#8090a6; box-shadow:none; }
#login-popup-crop-dialog p { font-size:13px; color:#7c8ba0; line-height:1.8; margin:18px 0; }
#login-popup-crop-dialog canvas { display:block; width:100%; aspect-ratio:16/7; height:auto; border:1px solid #d6e1ef; border-radius:10px; background:#edf2f8; cursor:grab; touch-action:none; }
#login-popup-crop-dialog canvas:active { cursor:grabbing; }
#login-popup-crop-dialog .lp-crop-zoom { display:flex; align-items:center; gap:16px; margin:22px 0; color:#6b7e98; font-size:13px; }
#login-popup-crop-dialog input[type=range] { flex:1; width:auto; padding:0; accent-color:#447bea; }
#login-popup-crop-dialog output { width:42px; text-align:right; }
#login-popup-crop-dialog footer { display:flex; gap:10px; align-items:center; }
#login-popup-crop-dialog footer span { flex:1; }
@media(max-width:600px) {
  #login-popup-dialog .lp-copy { padding:22px 23px 10px; }
  #login-popup-dialog .dialog-actions { padding:17px 23px 23px; }
  #login-popup-dialog .lp-copy h3 { font-size:21px; }
  #login-popup-dialog .lp-welcome { min-height:190px; }
  #login-popup-crop-dialog .lp-crop-card { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { #login-popup-dialog .login-popup-card { animation:none; } }
