/* Shared palette and components; social network brand colors remain provider-owned. */
:root { --rm-surface:#fff; --rm-border:#e2e8f0; --rm-ink:#172033; --rm-muted:#526078; --rm-soft:#f8fafc; --rm-accent:#2454db; --rm-accent-hover:#1e40af; --rm-focus:#2454db; --rm-link:#2454db; --rm-violet:#7638e8; }
.dark { --rm-focus:#9bb9ff; --rm-link:#9bb9ff; --rm-surface:#0f172a; --rm-border:#334155; --rm-ink:#f1f5f9; --rm-muted:#b3bfd0; --rm-soft:#182237; }
.rm-page { --rm-surface:#fff; --rm-border:#e2e8f0; --rm-ink:#172033; --rm-muted:#526078; --rm-soft:#f8fafc; color:var(--rm-ink); font-size:14px; line-height:1.6; display:grid; gap:24px; max-width:1320px; margin-inline:auto; }
.dark .rm-page { --rm-surface:#0f172a; --rm-border:#334155; --rm-ink:#f1f5f9; --rm-muted:#b3bfd0; --rm-soft:#182237; }
.rm-page h1 { font-size:28px; line-height:1.25; font-weight:800; letter-spacing:-.035em; margin:4px 0 8px; }
.rm-page h2 { font-size:18px; line-height:1.4; font-weight:750; margin:0; }
.rm-muted { color:var(--rm-muted); font-size:14px; }
.rm-eyebrow { color:var(--rm-muted); font-size:12px; text-transform:uppercase; letter-spacing:.09em; font-weight:700; }
.rm-page-heading,.rm-card-heading { display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.rm-card { background:var(--rm-surface); border:1px solid var(--rm-border); border-radius:16px; padding:24px; min-width:0; box-shadow:0 2px 8px #0f172a03; }
.rm-card-heading { margin-bottom:16px; }
.rm-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid transparent; border-radius:12px; font:inherit; font-size:14px; font-weight:650; text-align:center; line-height:1.4; cursor:pointer; transition:background .15s,border-color .15s; text-decoration:none; }
.rm-button-primary { background:var(--rm-accent); color:#fff; }
.rm-button-primary:hover { background:var(--rm-accent-hover); }
.rm-button-secondary { color:var(--rm-ink); background:var(--rm-surface); border-color:var(--rm-border); }
.rm-button-secondary:hover,.rm-button-quiet:hover { background:var(--rm-soft); border-color:#94a3b8; }
.rm-button-quiet { color:var(--rm-muted); }
.rm-page :is(a,button,input,summary):focus-visible,.rm-composer :is(a,button,input,textarea):focus-visible { outline:3px solid var(--rm-focus); outline-offset:3px; }
.rm-page button:disabled { cursor:not-allowed; opacity:.55; }
.rm-notice { padding:20px 24px; border:1px solid var(--rm-border); background:var(--rm-soft); border-radius:16px; }
.rm-notice p { margin-top:8px; color:var(--rm-muted); }
.rm-integration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.rm-badge { display:inline-flex; align-items:center; gap:6px; border-radius:100px; padding:4px 10px; font-size:12px; font-weight:650; line-height:1.5; }
.rm-badge-success { background:#ecfdf5; color:#065f46; }
.rm-badge-warning { background:#fffbeb; color:#92400e; }
.rm-badge-neutral { background:#f1f5f9; color:#475569; }
.rm-badge-error { background:#fff1f2; color:#9f1239; }
.rm-details { margin-top:16px; border-top:1px solid var(--rm-border); padding-top:16px; }
.rm-details summary { cursor:pointer; font-weight:650; padding:4px 0; }
.rm-form { display:grid; gap:16px; margin-top:16px; }
.rm-field { display:grid; gap:8px; font-size:14px; font-weight:600; }
.rm-field input { width:100%; min-width:0; border:1px solid var(--rm-border); border-radius:12px; padding:12px; font:inherit; font-weight:400; background:var(--rm-surface); color:var(--rm-ink); }
.rm-field input[readonly] { background:var(--rm-soft); font-size:13px; }
.rm-field input::placeholder { color:var(--rm-muted); opacity:1; }
.rm-subheading { font-weight:700; margin-top:24px; }
.rm-version-list { list-style:none; padding:0; margin:8px 0 0; }
.rm-version-list li { border-top:1px solid var(--rm-border); padding:16px 0; display:grid; gap:12px; }
.rm-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.rm-integration-footer { border-top:1px solid var(--rm-border); padding-top:12px; margin-top:8px; }
.rm-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.rm-metric { padding:20px; text-decoration:none; }
.rm-metric strong { display:block; font-size:32px; line-height:1.4; letter-spacing:-.04em; margin-top:8px; }
.rm-content-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:24px; align-items:start; }
.rm-stack { display:grid; gap:24px; }
.rm-post-list,.rm-account-list { list-style:none; margin:0; padding:0; }
.rm-post-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:20px 0; border-top:1px solid var(--rm-border); }
.rm-post-title { font-weight:700; font-size:16px; overflow-wrap:anywhere; }
.rm-post-meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:8px; color:var(--rm-muted); }
.rm-post-action { align-self:center; }
.rm-account-list li { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--rm-border); padding:14px 0; }
.rm-account-name { overflow-wrap:anywhere; font-weight:650; }
.rm-empty { padding:32px 20px; background:var(--rm-soft); border:1px dashed var(--rm-border); border-radius:12px; text-align:center; }
.rm-empty p { margin-bottom:16px; }
.rm-attention { border-left:4px solid #d97706; }
.rm-attention li { margin-top:12px; }
.rm-link { color:var(--rm-link); font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.dark .rm-link { color:var(--rm-link); }
.rm-composer :is(.text-xs,.text-\[11px\]) { font-size:14px; }
.rm-composer :is(.rounded-3xl) { border-radius:16px; }
.rm-composer button { min-height:40px; }
.rm-composer input,.rm-composer textarea { font-size:16px; }
#app-sidebar .overflow-y-auto a { font-size:14px; }
@media(max-width:1000px) { .rm-integration-grid,.rm-content-grid { grid-template-columns:1fr; } }
@media(max-width:640px) { .rm-page { gap:20px; } .rm-page h1 { font-size:24px; } .rm-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .rm-card { padding:20px; } .rm-metric { padding:16px; } .rm-page-heading>.rm-button { width:100%; } .rm-post-row { grid-template-columns:1fr; } .rm-post-action { justify-self:start; } .rm-integration .rm-card-heading { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .rm-page *,.rm-composer * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Existing editorial screens share the dashboard palette without altering their layouts. */
.rm-library { display:block; }
.rm-library :is(.text-xs,.text-\[11px\]) { font-size:14px; line-height:1.5; }
.rm-library .text-\[10px\] { font-size:12px; line-height:1.5; }
.rm-library :is(.text-slate-400,.text-slate-500) { color:var(--rm-muted); }
.rm-library .rounded-3xl { border-radius:16px; }
.rm-library .bg-white { background-color:var(--rm-surface); }
.rm-library :is(.border-slate-200,.border-slate-200\/80) { border-color:var(--rm-border); }
.rm-library :is(button:not(.media-card),a.rounded-xl,a.rounded-full) { min-height:44px; }
.rm-library :is(a,button).bg-brand-600 { background:var(--rm-accent); border-color:var(--rm-accent); }
.rm-library :is(a,button).bg-brand-600:hover { background:var(--rm-accent-hover); }
.rm-library :is(select,input) { min-height:44px; font-size:16px; }
.rm-library :is(select,textarea):focus-visible { outline:3px solid var(--rm-focus); outline-offset:3px; }
.rm-library :is(.min-w-0,.flex-1) { min-width:0; }
.rm-library .max-w-\[360px\] { max-width:min(360px,100%); }
.dark .rm-badge-success { background:#064e3b; color:#a7f3d0; }
.dark .rm-badge-warning { background:#451a03; color:#fde68a; }
.dark .rm-badge-neutral { background:#1e293b; color:#cbd5e1; }
.dark .rm-badge-error { background:#4c0519; color:#fecdd3; }
@media(prefers-reduced-motion:reduce) { .rm-library * { animation:none!important; transition:none!important; } }

.rm-shell :is(header,#app-sidebar) :is(a,button).bg-brand-600 { background:var(--rm-accent); }
.rm-shell :is(header,#app-sidebar) :is(a,button).bg-brand-600:hover { background:var(--rm-accent-hover); }
.rm-calendar-views { flex-wrap:wrap; }
.rm-calendar-grid { overflow-x:auto; }
@media(max-width:640px) { .rm-calendar-grid>.grid { min-width:700px; } }

/* Status colors convey the same meaning in lists and calendar views. */
.rm-library .rm-status { font-size:12px; padding:4px 10px; }
.rm-library :is(.rm-status-approved,.rm-status-publishing,.rm-status-scheduled) { background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.rm-library .rm-status-published { background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
.rm-library :is(.rm-status-pending_approval,.rm-status-partially_failed) { background:#fffbeb; color:#92400e; border-color:#fde68a; }
.rm-library .rm-status-failed { background:#fff1f2; color:#9f1239; border-color:#fecdd3; }
.rm-library :is(.rm-status-draft,.rm-status-cancelled) { background:#f1f5f9; color:#475569; border-color:#cbd5e1; }
.dark .rm-library :is(.rm-status-approved,.rm-status-publishing,.rm-status-scheduled) { background:#172554; color:#bfdbfe; border-color:#1e40af; }
.dark .rm-library .rm-status-published { background:#064e3b; color:#a7f3d0; border-color:#047857; }
.dark .rm-library :is(.rm-status-pending_approval,.rm-status-partially_failed) { background:#451a03; color:#fde68a; border-color:#92400e; }
.dark .rm-library .rm-status-failed { background:#4c0519; color:#fecdd3; border-color:#9f1239; }
.dark .rm-library :is(.rm-status-draft,.rm-status-cancelled) { background:#1e293b; color:#cbd5e1; border-color:#475569; }
@media(max-width:640px) { .rm-account-controls { flex-direction:column; align-items:flex-end; } .rm-account-controls .rm-badge { font-size:11px; } }

/* Shared accessibility and public-site palette. */
.rm-skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:12px 20px; background:#fff; color:var(--rm-accent); border:2px solid currentColor; border-radius:12px; transform:translateY(-160%); }
.rm-skip-link:focus { transform:translateY(0); }
:where(.rm-site,.rm-shell) :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--rm-focus); outline-offset:3px; }
.rm-site :is(a,button).bg-brand-600 { background:var(--rm-accent); }
.rm-site :is(a,button).bg-brand-600:hover { background:var(--rm-accent-hover); }
.rm-site .js-dropdown:focus-within .js-dropdown-menu { display:block; }
[data-theme-choice][aria-pressed="true"] { border-color:var(--rm-accent); background:var(--rm-accent); color:white; }
@media(prefers-reduced-motion:reduce) { .rm-site *,.rm-shell * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.rm-admin main { min-width:0; }
.rm-admin main :is(dd,dl,.grid) { min-width:0; overflow-wrap:anywhere; }
.rm-admin main dl .grid { grid-template-columns:minmax(5rem,auto) minmax(0,1fr); }
.dark .rm-admin main .bg-white { background:var(--rm-surface); }
.dark .rm-admin main .bg-slate-50 { background:var(--rm-soft); }
.dark .rm-admin main :is(.text-slate-900,.text-slate-950) { color:var(--rm-ink); }
.dark .rm-admin main :is(.text-slate-400,.text-slate-500,.text-slate-600) { color:var(--rm-muted); }
.dark .rm-admin main :is(.border-slate-100,.border-slate-200) { border-color:var(--rm-border); }
.rm-shell main>div:not(.rm-page):not(.rm-composer) { max-width:1320px; margin-inline:auto; }
.rm-shell main h1 { font-size:28px; line-height:1.25; letter-spacing:-.035em; }
.rm-shell main :is(input,select,textarea) { font-size:16px; }
.rm-site [data-group]:is(a) { flex-shrink:0; }
@media(max-width:640px) { .rm-shell main h1 { font-size:24px; } .rm-site .overflow-x-auto { justify-content:flex-start; } }
.rm-admin main .overflow-x-auto { position:relative; contain:inline-size; }
.rm-media-dialog { margin:auto; padding:0; width:calc(100% - 32px); max-width:560px; max-height:90vh; border:0; border-radius:16px; color:var(--rm-ink); background:var(--rm-surface); } .rm-media-dialog::backdrop { background:#020617b3; }

/* A restrained blue/violet signature for primary actions and page accents. */
.rm-button-primary { background:linear-gradient(115deg,var(--rm-accent),#5834c5); }
.rm-button-primary:hover { background:linear-gradient(115deg,var(--rm-accent-hover),#4527a0); }
.rm-palette { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.rm-swatch { border:1px solid var(--rm-border); border-radius:12px; overflow:hidden; background:var(--rm-surface); }
.rm-swatch-color { height:64px; background:var(--swatch); }
.rm-swatch-caption { padding:12px; color:var(--rm-ink); font-size:12px; }
.rm-swatch-caption code { display:block; margin-top:4px; color:var(--rm-muted); }
@media(max-width:480px) { .rm-palette { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Brand text remains readable on the dark surfaces; button fills retain their white-label contrast. */
.dark :is(.text-brand-500,.text-brand-600,.text-brand-700) { color:#9bb9ff; }

.rm-brand-heading { background:linear-gradient(110deg,#2454db,#7638e8); background-clip:text; -webkit-background-clip:text; color:transparent; }
.dark .rm-brand-heading { background-image:linear-gradient(110deg,#9bb9ff,#c4a5ff); }

/* Preserve the current Control Center layout while sharing dark surfaces. */
.dark .admin-body { background:#020617; color:var(--rm-ink); }
.dark .admin-body :is(main,header) :is(.bg-white,.bg-white\/95) { background:var(--rm-surface); }
.dark .admin-body main .bg-slate-50 { background:var(--rm-soft); }
.dark .admin-body :is(main,header) :is(.text-slate-900,.text-slate-950) { color:var(--rm-ink); }
.dark .admin-body :is(main,header) :is(.text-slate-500,.text-slate-600) { color:var(--rm-muted); }
.dark .admin-body :is(main,header) :is(.border-slate-200,.border-slate-100) { border-color:var(--rm-border); }

.dark .rm-organization :is(.bg-white,.bg-slate-50) { background:var(--rm-surface); }
.dark .rm-organization :is(.text-slate-900,.text-slate-950) { color:var(--rm-ink); }
.dark .rm-organization :is(.text-slate-500,.text-slate-600) { color:var(--rm-muted); }
.dark .rm-organization :is(.border-slate-200,.border-slate-100) { border-color:var(--rm-border); }

/* Compact public footer: bounded brand image, balanced navigation, all legal links retained. */
.rm-footer { background:#0f172a; color:#a9b6cb; border-top:1px solid #26334b; font-size:13px; line-height:1.6; }
.rm-footer-inner { max-width:1280px; margin:0 auto; padding:40px 32px 20px; }
.rm-footer-main { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; }
.rm-footer-brand { min-width:0; }
.rm-footer-logo { display:inline-flex; width:112px; height:112px; overflow:hidden; border-radius:14px; background:#fff; }
.rm-footer-logo img { display:block; width:112px; height:112px; max-width:100%; object-fit:contain; }
.rm-footer-brand p { max-width:280px; margin:16px 0 12px; }
.rm-footer-assurance { display:inline-flex; align-items:center; gap:8px; color:#b5caff; font-size:12px; }
.rm-footer h2 { margin:0 0 14px; color:#e2e8f0; font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.rm-footer ul { list-style:none; padding:0; margin:0; }
.rm-footer-nav li + li { margin-top:8px; }
.rm-footer a,.rm-footer button { color:inherit; text-decoration:none; transition:color .15s; }
.rm-footer button { background:none; border:0; padding:0; text-align:left; font:inherit; cursor:pointer; }
.rm-footer a:hover,.rm-footer button:hover { color:#fff; }
.rm-footer a:focus-visible,.rm-footer button:focus-visible { outline:2px solid #9bb9ff; outline-offset:4px; border-radius:3px; }
.rm-footer-legal { border-top:1px solid #26334b; margin-top:28px; padding-top:22px; }
.rm-footer-legal ul { display:flex; flex-wrap:wrap; gap:8px 24px; font-size:12px; }
.rm-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; border-top:1px solid #26334b; margin-top:24px; padding-top:18px; font-size:11px; color:#94a3b8; }
.rm-footer-bottom p { margin:0; }
@media(max-width:900px) { .rm-footer-main { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; } .rm-footer-brand { grid-column:1/-1; } }
@media(max-width:540px) { .rm-footer-inner { padding:28px 20px 20px; } .rm-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; } .rm-footer-logo,.rm-footer-logo img { width:96px; height:96px; } .rm-footer-legal ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; } .rm-footer a,.rm-footer button { overflow-wrap:anywhere; } }
