.jnlmpc-app,
.jnlmpc-login-required {
    --jnlmpc-ink: #17202a;
    --jnlmpc-muted: #6c7784;
    --jnlmpc-line: #e2e7ec;
    --jnlmpc-soft: #f6f8fa;
    --jnlmpc-accent: #263f68;
    --jnlmpc-accent-soft: #edf3ff;
    --jnlmpc-boost: #a35f00;
    --jnlmpc-planned: #e2af16;
    --jnlmpc-success: #207a4a;
    --jnlmpc-needs-action: #7540a8;
    --jnlmpc-danger: #b33232;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--jnlmpc-ink);
    box-sizing: border-box;
}
.jnlmpc-app *, .jnlmpc-login-required * { box-sizing: border-box; }
.jnlmpc-shell { overflow: hidden; background: #fff; border: 1px solid var(--jnlmpc-line); border-radius: 18px; box-shadow: 0 14px 35px rgba(23,32,42,.08); }
.jnlmpc-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 28px 30px 22px; background: linear-gradient(135deg,#ffffff,#f6f9ff); border-bottom: 1px solid var(--jnlmpc-line); }
.jnlmpc-eyebrow { margin: 0 0 6px; color: var(--jnlmpc-accent); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.jnlmpc-header h2, .jnlmpc-modal h3 { margin: 0; color: var(--jnlmpc-ink); font-size: 30px; line-height: 1.1; }
.jnlmpc-subtitle { max-width: 720px; margin: 10px 0 0; color: var(--jnlmpc-muted); font-size: 14px; line-height: 1.55; }
.jnlmpc-toolbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; padding: 13px 16px; background: var(--jnlmpc-soft); border-bottom: 1px solid var(--jnlmpc-line); }
.jnlmpc-toolbar-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.jnlmpc-current-month { margin: 0; font-size: 18px; text-align: center; }
.jnlmpc-legend { display: flex; align-items: center; justify-content: flex-end; gap: 14px; color: var(--jnlmpc-muted); font-size: 12px; }
.jnlmpc-legend span { display: inline-flex; align-items: center; gap: 5px; }
.jnlmpc-legend-dot { width: 10px; height: 10px; border-radius: 50%; }
.jnlmpc-legend-planned { background: var(--jnlmpc-planned); }
.jnlmpc-legend-urgent { background: var(--jnlmpc-danger); }
.jnlmpc-legend-completed { background: var(--jnlmpc-success); }
.jnlmpc-legend-needs-action { background: var(--jnlmpc-needs-action); }
.jnlmpc-legend-boost { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; padding: 0 0 1px; border-radius: 50%; color: #fff; background: var(--jnlmpc-boost); font-size: 11px; font-style: normal; font-weight: 800; line-height: 1; text-align: center; vertical-align: middle; }
.jnlmpc-button, .jnlmpc-icon-button { border: 0; border-radius: 9px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.jnlmpc-button:hover, .jnlmpc-icon-button:hover { transform: translateY(-1px); }
.jnlmpc-button:disabled { cursor: wait; opacity: .65; transform: none; }
.jnlmpc-button { padding: 10px 14px; }
.jnlmpc-button-primary { color: #fff; background: var(--jnlmpc-accent); box-shadow: 0 8px 18px rgba(38,63,104,.16); }
.jnlmpc-button-muted { color: var(--jnlmpc-ink); background: #e9edf2; }
.jnlmpc-button-danger { color: #fff; background: var(--jnlmpc-danger); }
.jnlmpc-icon-button { width: 35px; height: 35px; color: var(--jnlmpc-ink); background: #fff; border: 1px solid var(--jnlmpc-line); font-size: 24px; line-height: 1; }
.jnlmpc-weekdays, .jnlmpc-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.jnlmpc-weekdays { background: #fff; border-bottom: 1px solid var(--jnlmpc-line); }
.jnlmpc-weekdays div { padding: 11px 8px; color: var(--jnlmpc-muted); border-right: 1px solid var(--jnlmpc-line); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.jnlmpc-day { min-height: 132px; padding: 7px; background: #fff; border-right: 1px solid var(--jnlmpc-line); border-bottom: 1px solid var(--jnlmpc-line); cursor: pointer; transition: background .15s ease; }
.jnlmpc-day:hover { background: #f9fbff; }
.jnlmpc-day-outside { background: #fafbfc; color: #abb3bd; }
.jnlmpc-day-today { box-shadow: inset 0 0 0 2px var(--jnlmpc-accent); }
.jnlmpc-day-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.jnlmpc-day-number { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; font-size: 12px; font-weight: 800; }
.jnlmpc-day-today .jnlmpc-day-number { color: #fff; background: var(--jnlmpc-accent); }
.jnlmpc-day-add { width: 25px; height: 25px; opacity: 0; color: var(--jnlmpc-accent); background: transparent; border: 0; border-radius: 50%; cursor: pointer; font-size: 19px; line-height: 1; transition: opacity .15s ease, background .15s ease; }
.jnlmpc-day:hover .jnlmpc-day-add, .jnlmpc-day:focus .jnlmpc-day-add { opacity: 1; }
.jnlmpc-day-add:hover { background: var(--jnlmpc-accent-soft); }
.jnlmpc-day-posts { display: grid; gap: 5px; }
.jnlmpc-entry-pill { display: flex; align-items: center; gap: 4px; width: 100%; min-width: 0; padding: 6px 7px; border: 0; border-radius: 6px; cursor: pointer; font-size: 11px; text-align: left; }
.jnlmpc-entry-pill-planned { color: #342700; background: var(--jnlmpc-planned); }
.jnlmpc-entry-pill-urgent { color: #fff; background: var(--jnlmpc-danger); }
.jnlmpc-entry-pill-completed { color: #fff; background: var(--jnlmpc-success); }
.jnlmpc-entry-pill-needs-action { color: #fff; background: var(--jnlmpc-needs-action); }
.jnlmpc-entry-title { overflow: hidden; flex: 1; text-overflow: ellipsis; white-space: nowrap; }
.jnlmpc-pill-budget, .jnlmpc-pill-attachment { flex: none; font-size: 10px; font-weight: 800; }
.jnlmpc-loading { grid-column: 1 / -1; min-height: 420px; display: grid; place-items: center; color: var(--jnlmpc-muted); }
.jnlmpc-loading-error { color: var(--jnlmpc-danger); }
.jnlmpc-modal[hidden], .jnlmpc-toast[hidden] { display: none; }
.jnlmpc-modal { position: fixed; z-index: 999999; inset: 0; display: grid; place-items: center; padding: 18px; }
.jnlmpc-modal-backdrop { position: absolute; inset: 0; background: rgba(9,17,29,.62); }
.jnlmpc-modal-dialog { position: relative; width: min(760px,100%); max-height: calc(100vh - 36px); overflow: auto; padding: 26px; background: #fff; border-radius: 16px; box-shadow: 0 22px 70px rgba(0,0,0,.27); }
.jnlmpc-modal-close { position: absolute; top: 14px; right: 15px; width: 32px; height: 32px; color: var(--jnlmpc-muted); background: #eff2f5; border: 0; border-radius: 50%; cursor: pointer; font-size: 22px; line-height: 1; }
.jnlmpc-modal h3 { padding-right: 40px; font-size: 27px; }
.jnlmpc-view-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; color: var(--jnlmpc-muted); font-size: 13px; }
.jnlmpc-status-badge { display: inline-flex; align-items: center; padding: 4px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.jnlmpc-status-badge-planned { color: #342700; background: #fff1ad; }
.jnlmpc-status-badge-urgent { color: #fff; background: var(--jnlmpc-danger); }
.jnlmpc-status-badge-completed { color: #fff; background: var(--jnlmpc-success); }
.jnlmpc-status-badge-needs-action { color: #fff; background: var(--jnlmpc-needs-action); }
.jnlmpc-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.jnlmpc-detail-card { padding: 14px; background: var(--jnlmpc-soft); border: 1px solid var(--jnlmpc-line); border-radius: 10px; }
.jnlmpc-detail-card span, .jnlmpc-detail-card strong { display: block; }
.jnlmpc-detail-card span { margin-bottom: 4px; color: var(--jnlmpc-muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.jnlmpc-detail-card strong { font-size: 18px; }
.jnlmpc-detail-boost { background: #fff8ed; border-color: #f0dbb7; }
.jnlmpc-detail-boost strong { color: var(--jnlmpc-boost); }
.jnlmpc-status-panel { display: grid; gap: 12px; margin-top: 18px; padding: 14px; background: #f8fafc; border: 1px solid var(--jnlmpc-line); border-radius: 10px; }
.jnlmpc-status-panel h4 { margin: 0; font-size: 14px; }
.jnlmpc-status-panel p { margin: 4px 0 0; color: var(--jnlmpc-muted); font-size: 12px; line-height: 1.5; }
.jnlmpc-status-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.jnlmpc-status-checkbox { display: flex; align-items: center; gap: 9px; padding: 11px; background: #fff; border: 1px solid var(--jnlmpc-line); border-radius: 8px; cursor: pointer; }
.jnlmpc-status-checkbox:hover { border-color: #b7c7df; }
.jnlmpc-status-checkbox input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--jnlmpc-success); }
.jnlmpc-status-checkbox input:disabled { cursor: wait; opacity: .6; }
.jnlmpc-status-checkbox strong, .jnlmpc-status-checkbox small { display: block; }
.jnlmpc-status-checkbox strong { font-size: 13px; }
.jnlmpc-status-checkbox small { margin-top: 2px; color: var(--jnlmpc-muted); font-size: 11px; line-height: 1.35; }
.jnlmpc-section { margin-top: 22px; }
.jnlmpc-section h4 { margin: 0 0 8px; font-size: 14px; }
.jnlmpc-description { padding: 14px; color: #394553; background: var(--jnlmpc-soft); border-radius: 9px; font-size: 14px; line-height: 1.6; white-space: normal; }
.jnlmpc-attachment-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.jnlmpc-attachment-card { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px; color: var(--jnlmpc-ink); background: #fff; border: 1px solid var(--jnlmpc-line); border-radius: 9px; text-decoration: none; transition: border .15s ease, box-shadow .15s ease; }
.jnlmpc-attachment-card:hover { border-color: #b7c7df; box-shadow: 0 8px 18px rgba(38,63,104,.08); }
.jnlmpc-attachment-card img, .jnlmpc-file-icon { flex: none; width: 42px; height: 42px; object-fit: cover; border-radius: 7px; }
.jnlmpc-file-icon { display: grid; place-items: center; color: var(--jnlmpc-accent); background: var(--jnlmpc-accent-soft); font-size: 10px; font-weight: 800; }
.jnlmpc-attachment-card span { min-width: 0; flex: 1; }
.jnlmpc-attachment-card strong, .jnlmpc-attachment-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jnlmpc-attachment-card strong { font-size: 12px; }
.jnlmpc-attachment-card small { margin-top: 3px; color: var(--jnlmpc-muted); font-size: 11px; }
.jnlmpc-attachment-card em { color: var(--jnlmpc-accent); font-size: 20px; font-style: normal; font-weight: 800; }
.jnlmpc-view-upload-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,1fr) auto; align-items: end; gap: 9px; margin-top: 12px; padding: 12px; background: #f8fafc; border: 1px dashed #c7d2df; border-radius: 9px; }
.jnlmpc-view-upload-panel strong, .jnlmpc-view-upload-panel small { display: block; }
.jnlmpc-view-upload-panel strong { font-size: 13px; }
.jnlmpc-view-upload-panel small { margin-top: 3px; color: var(--jnlmpc-muted); font-size: 11px; line-height: 1.4; }
.jnlmpc-view-upload-panel input[type="file"] { min-width: 0; width: 100%; color: var(--jnlmpc-muted); font: inherit; font-size: 12px; }
.jnlmpc-view-upload-panel .jnlmpc-button { white-space: nowrap; }
.jnlmpc-field { margin-top: 16px; }
.jnlmpc-field label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 800; }
.jnlmpc-field input[type="text"], .jnlmpc-field input[type="date"], .jnlmpc-field input[type="number"], .jnlmpc-field input[type="file"], .jnlmpc-field textarea { width: 100%; padding: 11px 12px; color: var(--jnlmpc-ink); background: #fff; border: 1px solid #ccd5df; border-radius: 8px; font: inherit; font-size: 14px; }
.jnlmpc-field textarea { resize: vertical; }
.jnlmpc-field small, .jnlmpc-switch-row small { display: block; margin-top: 5px; color: var(--jnlmpc-muted); font-size: 11px; line-height: 1.45; }
.jnlmpc-boost-box { display: grid; grid-template-columns: 1fr 190px; align-items: center; gap: 16px; margin-top: 18px; padding: 14px; background: #fff8ed; border: 1px solid #f0dbb7; border-radius: 10px; }
.jnlmpc-boost-box .jnlmpc-field { margin-top: 0; }
.jnlmpc-switch-row { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.jnlmpc-switch-row > input { position: absolute; opacity: 0; pointer-events: none; }
.jnlmpc-switch { position: relative; flex: none; width: 40px; height: 22px; background: #c7ced6; border-radius: 30px; transition: background .15s ease; }
.jnlmpc-switch::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; content: ""; background: #fff; border-radius: 50%; transition: transform .15s ease; }
.jnlmpc-switch-row input:checked + .jnlmpc-switch { background: var(--jnlmpc-boost); }
.jnlmpc-switch-row input:checked + .jnlmpc-switch::after { transform: translateX(18px); }
.jnlmpc-field-disabled { opacity: .45; }
.jnlmpc-existing-attachments { display: grid; gap: 7px; }
.jnlmpc-delete-attachment { display: flex; align-items: center; gap: 9px; padding: 10px; background: var(--jnlmpc-soft); border: 1px solid var(--jnlmpc-line); border-radius: 8px; cursor: pointer; }
.jnlmpc-delete-attachment span { min-width: 0; flex: 1; }
.jnlmpc-delete-attachment strong, .jnlmpc-delete-attachment small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jnlmpc-delete-attachment strong { font-size: 12px; }
.jnlmpc-delete-attachment small { color: var(--jnlmpc-muted); font-size: 11px; }
.jnlmpc-delete-attachment em { color: var(--jnlmpc-danger); font-size: 11px; font-style: normal; font-weight: 800; }

.jnlmpc-copy-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; color: #3b2a00; background: #fff4c7; border-bottom: 1px solid #eed487; font-size: 12px; }
.jnlmpc-copy-bar[hidden] { display: none; }
.jnlmpc-copy-bar span { min-width: 0; }
.jnlmpc-copy-title { font-style: normal; font-weight: 700; }
.jnlmpc-copy-clear { flex: none; padding: 0; color: #725100; background: transparent; border: 0; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; text-decoration: underline; }
.jnlmpc-copy-preview { margin-top: 18px; padding: 14px; background: #fff8df; border: 1px solid #eed487; border-radius: 10px; }
.jnlmpc-copy-preview span, .jnlmpc-copy-preview strong, .jnlmpc-copy-preview small { display: block; }
.jnlmpc-copy-preview span { color: #725100; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.jnlmpc-copy-preview strong { margin-top: 4px; font-size: 17px; }
.jnlmpc-copy-preview small { margin-top: 8px; color: var(--jnlmpc-muted); font-size: 12px; line-height: 1.5; }
.jnlmpc-modal-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.jnlmpc-empty { margin: 0; color: var(--jnlmpc-muted); font-size: 13px; }
.jnlmpc-toast { position: fixed; z-index: 1000000; right: 20px; bottom: 20px; max-width: min(360px,calc(100vw - 40px)); padding: 13px 15px; color: #fff; background: #1c6b48; border-radius: 9px; box-shadow: 0 10px 30px rgba(0,0,0,.18); font-size: 13px; font-weight: 700; }
.jnlmpc-toast-error { background: var(--jnlmpc-danger); }
.jnlmpc-modal-open { overflow: hidden; }
.jnlmpc-login-required { padding: 24px; background: #fff; border: 1px solid var(--jnlmpc-line); border-radius: 12px; }
.jnlmpc-login-required p { color: var(--jnlmpc-muted); }
.jnlmpc-login-button { display: inline-block; padding: 10px 14px; color: #fff; background: var(--jnlmpc-accent); border-radius: 8px; text-decoration: none; font-weight: 800; }
@media (max-width: 840px) {
    .jnlmpc-toolbar { grid-template-columns: 1fr; }
    .jnlmpc-current-month { grid-row: 1; }
    .jnlmpc-toolbar-nav, .jnlmpc-legend { justify-content: center; }
    .jnlmpc-day { min-height: 105px; padding: 5px; }
    .jnlmpc-entry-pill { padding: 5px; }
}
@media (max-width: 640px) {
    .jnlmpc-header { display: block; padding: 22px 18px; }
    .jnlmpc-header .jnlmpc-button { margin-top: 14px; }
    .jnlmpc-header h2 { font-size: 26px; }
    .jnlmpc-calendar-wrap { overflow-x: auto; }
    .jnlmpc-weekdays, .jnlmpc-calendar-grid { min-width: 760px; }
    .jnlmpc-modal-dialog { padding: 20px; }
    .jnlmpc-detail-grid, .jnlmpc-attachment-grid, .jnlmpc-boost-box, .jnlmpc-status-options, .jnlmpc-view-upload-panel { grid-template-columns: 1fr; }
}

/* Password-gated frontend access. */
.jnlmpc-password-required {
    --jnlmpc-ink: #17202a;
    --jnlmpc-muted: #6c7784;
    --jnlmpc-line: #e2e7ec;
    --jnlmpc-accent: #263f68;
    --jnlmpc-danger: #a12525;
    max-width: 520px;
    padding: 32px;
    color: var(--jnlmpc-ink);
    background: #fff;
    border: 1px solid var(--jnlmpc-line);
    border-radius: 18px;
    box-shadow: 0 14px 35px rgba(23,32,42,.08);
    font-family: Arial, Helvetica, sans-serif;
}
.jnlmpc-password-required * { box-sizing: border-box; }
.jnlmpc-password-required h2 { margin: 0; color: var(--jnlmpc-ink); font-size: 30px; line-height: 1.1; }
.jnlmpc-password-required p:not(.jnlmpc-eyebrow) { margin: 12px 0 0; color: var(--jnlmpc-muted); font-size: 14px; line-height: 1.55; }
.jnlmpc-password-icon { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 14px; background: #edf3ff; border-radius: 50%; font-size: 20px; }
.jnlmpc-password-form { display: grid; gap: 9px; margin-top: 20px; }
.jnlmpc-password-form label { font-size: 13px; font-weight: 800; }
.jnlmpc-password-form input[type="password"] { width: 100%; padding: 11px 12px; color: var(--jnlmpc-ink); background: #fff; border: 1px solid #ccd5df; border-radius: 8px; font: inherit; font-size: 14px; }
.jnlmpc-password-form .jnlmpc-button { justify-self: start; margin-top: 3px; }
.jnlmpc-password-error { margin-top: 16px; padding: 10px 12px; color: var(--jnlmpc-danger); background: #fff4f4; border: 1px solid #efd0d0; border-radius: 8px; font-size: 13px; font-weight: 700; }
.jnlmpc-header-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 9px; flex: none; }
.jnlmpc-lock-link { color: var(--jnlmpc-muted); font-size: 12px; font-weight: 700; text-decoration: none; }
.jnlmpc-lock-link:hover { color: var(--jnlmpc-accent); text-decoration: underline; }
@media (max-width: 640px) {
    .jnlmpc-header-actions { align-items: flex-start; }
    .jnlmpc-password-required { padding: 24px 20px; }
}


/* Theme-independent public calendar route: /marketing-calendar/ */
.jnlmpc-standalone-body { margin: 0; min-height: 100vh; background: #f3f6fa; }
.jnlmpc-standalone-page { max-width: 1500px; margin: 0 auto; padding: 28px 18px; }

/* Keep shortcode pages visually aligned with the 1500px standalone Social Media Calendar layout. */
.jnlmpc-app-embedded { width: min(1500px,calc(100vw - 36px)); max-width: 1500px; margin-right: auto; margin-left: 50%; transform: translateX(-50%); }
.jnlmpc-standalone-page .jnlmpc-password-required { margin: 7vh auto 0; }
@media (max-width: 640px) {
    .jnlmpc-standalone-page { padding: 14px 8px; }
    .jnlmpc-standalone-page .jnlmpc-password-required { margin-top: 4vh; }
    .jnlmpc-app-embedded { width: calc(100vw - 16px); }
}


/* Marketing Planner-specific layout and communication tools. */
.jnlmpc-day-other { background: #fafbfc; color: #abb3bd; }
.jnlmpc-day-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.jnlmpc-day-header > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; font-size: 12px; font-weight: 800; }
.jnlmpc-day-today .jnlmpc-day-header > span { color: #fff; background: var(--jnlmpc-accent); }
.jnlmpc-day-tasks { display: grid; gap: 5px; }
.jnlmpc-pill-action { display: grid; place-items: center; flex: none; width: 15px; height: 15px; color: #fff; background: rgba(0,0,0,.22); border-radius: 50%; font-size: 10px; font-weight: 900; }
.jnlmpc-requester-field { position: relative; }
.jnlmpc-requester-suggestions { position: absolute; z-index: 15; top: calc(100% - 1px); left: 0; right: 0; overflow: auto; max-height: 220px; padding: 5px; background: #fff; border: 1px solid #ccd5df; border-radius: 0 0 9px 9px; box-shadow: 0 12px 22px rgba(31,41,55,.12); }
.jnlmpc-requester-suggestions[hidden] { display: none; }
.jnlmpc-requester-suggestions button { display: block; width: 100%; padding: 9px 10px; color: var(--jnlmpc-ink); background: #fff; border: 0; border-radius: 6px; cursor: pointer; font: inherit; font-size: 13px; text-align: left; }
.jnlmpc-requester-suggestions button:hover { background: var(--jnlmpc-accent-soft); }
.jnlmpc-requester-suggestions p { margin: 0; padding: 9px 10px; color: var(--jnlmpc-muted); font-size: 12px; }
.jnlmpc-needs-action-panel { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; padding: 14px; color: #4d276f; background: #f6effd; border: 1px solid #dcc8ef; border-radius: 10px; }
.jnlmpc-needs-action-panel strong { display: block; font-size: 14px; }
.jnlmpc-needs-action-panel p { margin: 4px 0 0; color: #75528f; font-size: 12px; line-height: 1.5; }
.jnlmpc-communication-panel { display: grid; gap: 13px; margin-top: 22px; padding: 15px; background: #fbfcfe; border: 1px solid var(--jnlmpc-line); border-radius: 10px; }
.jnlmpc-communication-panel h4, .jnlmpc-transfer-history h4, .jnlmpc-social-transfer-panel h4 { margin: 0; font-size: 14px; }
.jnlmpc-communication-panel > div:first-child p, .jnlmpc-social-transfer-panel > div:first-child p { margin: 4px 0 0; color: var(--jnlmpc-muted); font-size: 12px; line-height: 1.55; }
.jnlmpc-message-thread { display: grid; gap: 8px; max-height: 300px; overflow-y: auto; }
.jnlmpc-message { padding: 11px 12px; background: #fff; border: 1px solid var(--jnlmpc-line); border-radius: 9px; }
.jnlmpc-message-action_request { border-left: 4px solid var(--jnlmpc-needs-action); }
.jnlmpc-message-reply { border-left: 4px solid var(--jnlmpc-success); }
.jnlmpc-message header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.jnlmpc-message strong, .jnlmpc-message small { display: block; }
.jnlmpc-message strong { font-size: 13px; }
.jnlmpc-message small, .jnlmpc-message time { color: var(--jnlmpc-muted); font-size: 10px; }
.jnlmpc-message p { margin: 8px 0 0; color: #394553; font-size: 13px; line-height: 1.55; }
.jnlmpc-message-email { display: inline-flex; margin-top: 8px; padding: 3px 6px; color: #1c6b48; background: #e9f7ef; border-radius: 999px; font-size: 10px; font-weight: 800; }
.jnlmpc-message-email-warning { color: #8b5410; background: #fff5d8; }
.jnlmpc-message-compose span { display: block; margin-bottom: 6px; color: var(--jnlmpc-muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.jnlmpc-message-compose textarea { width: 100%; padding: 11px 12px; color: var(--jnlmpc-ink); background: #fff; border: 1px solid #ccd5df; border-radius: 8px; font: inherit; font-size: 14px; resize: vertical; }
.jnlmpc-communication-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.jnlmpc-social-transfer-panel { display: grid; gap: 9px; margin-top: 20px; padding: 14px; background: #f2f7ff; border: 1px solid #cadaef; border-radius: 10px; }
.jnlmpc-transfer-option { display: flex; align-items: flex-start; gap: 9px; padding: 11px; background: #fff; border: 1px solid var(--jnlmpc-line); border-radius: 8px; cursor: pointer; }
.jnlmpc-transfer-option input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--jnlmpc-accent); }
.jnlmpc-transfer-option strong, .jnlmpc-transfer-option small { display: block; }
.jnlmpc-transfer-option strong { font-size: 13px; }
.jnlmpc-transfer-option small { margin-top: 3px; color: var(--jnlmpc-muted); font-size: 11px; line-height: 1.4; }
.jnlmpc-social-budget-field { margin-top: 2px; }
.jnlmpc-transfer-history { display: grid; gap: 8px; margin-top: 18px; padding: 14px; background: #f2f7ff; border: 1px solid #cadaef; border-radius: 10px; }
.jnlmpc-transfer-record { padding: 9px 10px; background: #fff; border: 1px solid var(--jnlmpc-line); border-radius: 7px; }
.jnlmpc-transfer-record strong, .jnlmpc-transfer-record small { display: block; }
.jnlmpc-transfer-record strong { font-size: 12px; }
.jnlmpc-transfer-record small { margin-top: 3px; color: var(--jnlmpc-muted); font-size: 11px; }
@media (max-width: 640px) {
    .jnlmpc-needs-action-panel { display: block; }
    .jnlmpc-needs-action-panel .jnlmpc-button { margin-top: 10px; }
}


/* Visual-card transfer of later task attachments to linked social-calendar posts. */
