/* Content planner (organic Facebook/Instagram posts). Class-based only: the dashboard CSP forbids inline styles. */
.oc-root{min-width:0;color:var(--ink,#151921)}
.oc-root .panel{padding:20px;min-width:0}
.oc-root .oc-main{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.oc-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.oc-webmcp{margin:4px 0 14px;font-size:12px;color:var(--muted,#6f7787)}
.oc-notice{border:1px solid var(--line,#e7e9ed);border-left:5px solid #778347;border-radius:10px;padding:12px 16px;margin-bottom:14px;background:#fafbf7}
.oc-notice.is-locked{border-left-color:#b7791f;background:#fffaf0}
.oc-notice.is-warning{border-left-color:#b7791f;background:#fffaf0}
.oc-notice.is-conflict{border-left-color:#9b312b;background:#fff5f4}
.oc-notice p,.oc-notice ul{margin:6px 0 0}.oc-notice ul{padding-left:20px}
.oc-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
.oc-toolbar label,.oc-editor label,.oc-plan-all label{display:grid;gap:6px;font-weight:600;font-size:13px}
.oc-root select,.oc-root input[type=text],.oc-root input[type=date],.oc-root input[type=time],.oc-root textarea,.oc-dialog select,.oc-dialog input[type=text],.oc-dialog input[type=date],.oc-dialog input[type=time],.oc-dialog textarea{min-height:40px;padding:8px 10px;border:1px solid #c7cbbb;border-radius:9px;background:#fff;color:inherit;font:inherit;max-width:100%}
.oc-dialog textarea,.oc-root textarea{width:100%;box-sizing:border-box;resize:vertical}
.oc-monthnav,.oc-viewswitch,.oc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.oc-monthlabel{min-width:150px;text-align:center}
.oc-root button.active{background:#eef1e0;border-color:#778347}
.oc-root button,.oc-dialog button{min-height:40px}
.oc-table-scroll{max-width:100%;overflow-x:auto;border:1px solid #e4e5dc;border-radius:10px}
.oc-month{border-collapse:collapse;width:100%;min-width:860px;table-layout:fixed}
.oc-month th{padding:8px;background:#fafbf7;border-bottom:1px solid #e4e5dc;font-size:12px}
.oc-day{vertical-align:top;height:112px;padding:6px;border:1px solid #edeee6;font-size:12px}
.oc-day.is-outside{background:#f7f7f4;color:#a3a7a0}
.oc-day.is-slot{background:#fbfcf6}
.oc-day.is-today{outline:2px solid #778347;outline-offset:-2px}
.oc-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-weight:700}
.oc-slot-tag{font-size:10px;font-weight:600;color:#5b6633;background:#eef1e0;border-radius:6px;padding:1px 5px}
.oc-add{width:100%;min-height:28px;border:1px dashed #c7cbbb;border-radius:6px;background:transparent;color:#5b6633;cursor:pointer}
.oc-chip{display:grid;width:100%;text-align:left;gap:1px;margin-bottom:4px;padding:4px 6px;min-height:40px;border:1px solid #d7dac8;border-left-width:4px;border-radius:6px;background:#fff;cursor:pointer;font:inherit;font-size:11px}
.oc-chip-title{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oc-chip-meta,.oc-chip-time{color:var(--muted,#6f7787)}
.oc-chip.status-editing{border-left-color:#8f96a3}.oc-chip.status-review{border-left-color:#b7791f}.oc-chip.status-approved{border-left-color:#2f7d5b}
.oc-chip.status-queued{border-left-color:#2b6cb0}.oc-chip.status-published{border-left-color:#1f6f43}.oc-chip.status-rejected{border-left-color:#9b312b}.oc-chip.status-archived{border-left-color:#c4c7cf}
.oc-list{border-collapse:collapse;width:100%;min-width:720px;font-size:13px;text-align:left}
.oc-list caption{text-align:left;padding:12px;font-weight:700;background:#f5f6ef}
.oc-list th,.oc-list td{padding:10px 12px;border-bottom:1px solid #e4e5dc;vertical-align:top;overflow-wrap:anywhere}
.oc-list thead th{background:#fafbf7}
.oc-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#eef0f4;color:#3b4252}
.oc-pill.status-review{background:#fff3d6;color:#8a5a00}.oc-pill.status-approved,.oc-pill.status-succeeded{background:#dff3e8;color:#1f6f43}
.oc-pill.status-queued,.oc-pill.status-pending,.oc-pill.status-processing{background:#e1ecfa;color:#1f4f88}
.oc-pill.status-published{background:#cfeedd;color:#14532d}.oc-pill.status-rejected,.oc-pill.status-failed{background:#fde3e1;color:#8f2621}
.oc-pill.status-outcome_unknown{background:#f3e0ff;color:#5b2a86}.oc-pill.status-cancelled,.oc-pill.status-archived{background:#eceef2;color:#5a6270}
.oc-message{margin:8px 0;overflow-wrap:anywhere;white-space:pre-wrap}
.oc-message.is-error,.oc-schedule-summary.is-error{color:#9b312b}.oc-message.is-success{color:#1f6f43}.oc-message.is-warning{color:#8a5a00}
.oc-hint{font-size:12px;color:var(--muted,#6f7787)}
.oc-empty,.oc-loading{color:var(--muted,#6f7787);padding:8px 0}
.oc-error{border:1px solid #efc3bf;background:#fff5f4;border-radius:10px;padding:14px}
.oc-plan header{margin-bottom:8px}.oc-plan-all{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:10px 0}
.oc-slot-note{max-width:360px}

/* dialogs */
.oc-dialog{width:min(1180px,96vw);max-height:94vh;overflow:auto;padding:0;border:1px solid var(--line,#e7e9ed);border-radius:14px;box-shadow:var(--shadow,0 8px 28px rgba(25,31,43,.18));color:var(--ink,#151921)}
.oc-dialog::backdrop{background:rgba(21,25,33,.45)}
.oc-editor{padding:20px 24px;display:grid;gap:14px}
.oc-preview-dialog[open]{padding:20px 24px;display:grid;gap:14px}
.oc-editor-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
.oc-editor-head h2{margin:2px 0 6px}
.oc-editor-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px}
.oc-form-col{display:grid;gap:14px;min-width:0}
.oc-form-col fieldset{border:1px solid #e4e5dc;border-radius:10px;padding:12px;margin:0;display:grid;gap:10px;min-width:0}
.oc-form-col legend{font-weight:700;padding:0 6px}
.oc-datetime{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.oc-accounts{display:grid;gap:8px}
.oc-account{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:10px;font-weight:400!important}
.oc-account small{display:block;color:var(--muted,#6f7787)}
.oc-account input{width:20px;height:20px;accent-color:#778347}
.oc-check{border-left:4px solid #c4c7cf;padding:4px 10px;margin:6px 0;background:#fafbf7}
.oc-check.is-ok{border-left-color:#2f7d5b}.oc-check.is-bad{border-left-color:#9b312b}.oc-check.is-pending{border-left-color:#b7791f}
.oc-check ul{margin:4px 0 0;padding-left:18px}
.oc-badge{margin-left:8px;padding:1px 8px;border-radius:999px;background:#eef1e0;color:#5b6633;font-size:12px;font-weight:600}
.oc-hash{font-family:ui-monospace,Consolas,monospace;font-size:12px;overflow-wrap:anywhere;color:#3b4252;margin:4px 0}
.oc-issues{margin:0;padding-left:18px;font-size:12px;color:#8a5a00}
.oc-preview-col{display:grid;gap:14px;align-content:start;min-width:0}
.oc-pv{border:1px solid #dcdfe6;border-radius:12px;padding:12px;background:#fff;min-width:0}
.oc-pv h3{margin:0 0 6px;font-size:13px;color:var(--muted,#6f7787);text-transform:uppercase;letter-spacing:.04em}
.oc-pv-account{margin:0 0 8px;font-weight:700;overflow-wrap:anywhere}
.oc-pv-frame{position:relative;display:grid;place-items:center;background:#f1f2f4;border-radius:8px;overflow:hidden;min-height:120px}
.oc-pv-frame.oc-ratio-4x5{aspect-ratio:4/5}.oc-pv-frame.oc-ratio-1x1{aspect-ratio:1/1}.oc-pv-frame.oc-ratio-wide{aspect-ratio:16/9}.oc-pv-frame.oc-ratio-tall{aspect-ratio:9/16;max-height:420px}
.oc-pv-img{width:100%;height:100%;object-fit:contain;display:block}
.oc-pv-img[hidden],.oc-pv-empty[hidden]{display:none}
.oc-pv-caption{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 4px}
.oc-pv-meta{font-size:12px;color:var(--muted,#6f7787);margin:0}
.oc-pv-checks{margin:6px 0 0;padding-left:18px;font-size:12px}
.oc-review,.oc-comments,.oc-deliveries{border-top:1px solid #e4e5dc;padding-top:12px;display:grid;gap:8px}
.oc-review:empty,.oc-comments:empty,.oc-deliveries:empty{display:none}
.oc-comment-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.oc-comment-list li{border:1px solid #e4e5dc;border-radius:8px;padding:8px 10px;background:#fafbf7}
.oc-comment-list p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.oc-delivery-group{display:grid;gap:8px}
.oc-delivery{border:1px solid #e4e5dc;border-radius:10px;padding:10px 12px;display:grid;gap:4px}
.oc-delivery.status-outcome_unknown{border-color:#c9a3e8;background:#fbf5ff}.oc-delivery.status-failed{border-color:#efc3bf;background:#fff8f7}.oc-delivery.status-succeeded{border-color:#b9e0c9;background:#f6fcf8}
.oc-guidance{margin:0;font-size:12px;color:#5b2a86}
.oc-manifest{display:grid;gap:14px}
.oc-manifest section{border:1px solid #e4e5dc;border-radius:10px;padding:12px}
.oc-manifest h3{margin:0 0 8px}
.oc-full-frame{display:grid;place-items:center;background:#f1f2f4;border-radius:8px;padding:8px}
.oc-full-image{max-width:100%;max-height:70vh;object-fit:contain;display:block}
.oc-caption-block h4{margin:8px 0 4px}
.oc-caption-full{margin:0;padding:10px;background:#fafbf7;border:1px solid #e4e5dc;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}
.oc-when{font-size:20px;font-weight:700;margin:4px 0}
.oc-root :focus-visible,.oc-dialog :focus-visible{outline:3px solid #778347;outline-offset:2px}
@media(max-width:900px){.oc-editor-grid{grid-template-columns:1fr}.oc-editor,.oc-preview-dialog[open]{padding:14px}}
@media(max-width:600px){.oc-toolbar>*{width:100%}.oc-root .panel{padding:12px}}
