/* OSAC v9.1 Frontend — Complete Design System */

/* ─── CSS Variables ──────────────────────────────────────────────────────── */
:root {
  --osac-serif:   'Playfair Display', Georgia, 'Times New Roman', serif;
  --osac-sans:    'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --osac-mono:    'DM Mono', 'Courier New', monospace;

  --osac-ink:     #0a0a0a;
  --osac-ink-2:   #1a1a1a;
  --osac-ink-3:   #4a4a4a;
  --osac-ink-4:   #6b6b6b;
  --osac-ink-5:   #9b9b9b;

  --osac-paper:   #ffffff;
  --osac-paper-2: #f9f9f7;
  --osac-paper-3: #f3f3f0;

  --osac-border:  #e8e8e3;
  --osac-border-2:#d4d4cc;

  --osac-blue:    #1a4fa0;
  --osac-blue-bg: #eef3fc;
  --osac-amber:   #a05a00;
  --osac-amber-bg:#fff8ed;
  --osac-green:   #1a7a4a;
  --osac-green-bg:#eef7f2;
  --osac-red:     #c0392b;
  --osac-red-bg:  #fdf2f0;

  --osac-r:       8px;
  --osac-r-lg:    12px;
  --osac-r-xl:    18px;
  --osac-trans:   .15s ease;

  --osac-shadow:    0 2px 8px rgba(0,0,0,.08);
  --osac-shadow-lg: 0 8px 40px rgba(0,0,0,.16);
}

/* ─── Reset ──────────────────────────────────────────────────────────────── */
.osac-wrap *,
.osac-wrap *::before,
.osac-wrap *::after { box-sizing: border-box; }
.osac-wrap { font-family: var(--osac-sans); color: var(--osac-ink); line-height: 1.6; }

/* ─── Alerts ─────────────────────────────────────────────────────────────── */
.osac-alert {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 13px 16px; border-radius: var(--osac-r); margin-bottom: 16px;
  font-size: 14px; line-height: 1.5;
}
.osac-alert--info    { background: var(--osac-blue-bg);  color: var(--osac-blue);  border: 1px solid #c5d8f7; }
.osac-alert--success { background: var(--osac-green-bg); color: var(--osac-green); border: 1px solid #b0dcc4; }
.osac-alert--warning { background: var(--osac-amber-bg); color: var(--osac-amber); border: 1px solid #f0cc88; }
.osac-alert--error   { background: var(--osac-red-bg);   color: var(--osac-red);   border: 1px solid #f5c5c0; }
.osac-alert__icon    { flex-shrink: 0; font-size: 15px; margin-top: 1px; }
.osac-alert a        { color: #295cff; font-weight: 500; }

/* ─── Buttons ────────────────────────────────────────────────────────────── */
.osac-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 0 20px; height: 44px; border-radius: 99px;
  font-family: var(--osac-sans); font-size: 14px; font-weight: 500;
  cursor: pointer; border: 1.5px solid transparent; text-decoration: none;
  transition: all var(--osac-trans); white-space: nowrap; line-height: 1;
}
.osac-btn--primary { background: var(--osac-ink); color: var(--osac-paper); border-color: var(--osac-ink); }
.osac-btn--primary:hover { background: #333; border-color: #333; color: var(--osac-paper); }
.osac-btn--ghost   { background: transparent; color: var(--osac-ink); border-color: var(--osac-border-2); }
.osac-btn--ghost:hover { background: var(--osac-paper-3); border-color: var(--osac-ink); color: var(--osac-ink); }
.osac-btn--sm      { height: 34px; padding: 0 14px; font-size: 13px; border-radius: 99px; }
.osac-btn--full    { width: 100%; }
.osac-btn:disabled { opacity: .5; cursor: default; pointer-events: none; }

/* ─── Forms ──────────────────────────────────────────────────────────────── */
.osac-form         { display: flex; flex-direction: column; gap: 18px; }
.osac-field        { display: flex; flex-direction: column; gap: 6px; }
.osac-field-row    { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.osac-label        { font-size: 13px; font-weight: 500; color: var(--osac-ink-3); display: flex; align-items: center; justify-content: space-between; }
.osac-label-link   { font-weight: 400; font-size: 12px; color: var(--osac-ink-4); text-decoration: none; }
.osac-label-link:hover { color: var(--osac-ink); }
.osac-label-required { font-size: 11px; font-weight: 400; color: var(--osac-ink-5); }
.osac-field-hint   { font-size: 11px; color: var(--osac-ink-5); }
.osac-input        { height: 46px; border: 1.5px solid var(--osac-border); border-radius: var(--osac-r); padding: 0 14px; font-size: 14px; font-family: var(--osac-sans); color: var(--osac-ink); background: var(--osac-paper); transition: border-color var(--osac-trans), box-shadow var(--osac-trans); outline: none; width: 100%; }
.osac-input:focus  { border-color: var(--osac-ink); box-shadow: 0 0 0 3px rgba(10,10,10,.07); }
.osac-textarea     { border: 1.5px solid var(--osac-border); border-radius: var(--osac-r); padding: 12px 14px; font-size: 14px; font-family: var(--osac-sans); color: var(--osac-ink); background: var(--osac-paper); transition: border-color var(--osac-trans); outline: none; width: 100%; resize: vertical; line-height: 1.6; }
.osac-textarea:focus { border-color: var(--osac-ink); box-shadow: 0 0 0 3px rgba(10,10,10,.07); }
.osac-select       { height: 46px; border: 1.5px solid var(--osac-border); border-radius: var(--osac-r); padding: 0 36px 0 14px; font-size: 14px; font-family: var(--osac-sans); color: var(--osac-ink); background: var(--osac-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center; -webkit-appearance: none; outline: none; width: 100%; cursor: pointer; transition: border-color var(--osac-trans); }
.osac-select:focus { border-color: var(--osac-ink); }
.osac-form-terms   { font-size: 12px; color: var(--osac-ink-5); margin: 0; }
.osac-form-terms a { color: var(--osac-ink-4); }

/* ─── Card ───────────────────────────────────────────────────────────────── */
.osac-card         { background: var(--osac-paper); border: 1px solid var(--osac-border); border-radius: var(--osac-r-lg); padding: 24px 28px; margin-bottom: 20px; }
.osac-card-title   { font-size: 14px; font-weight: 500; color: var(--osac-ink-2); margin-bottom: 18px; }
.osac-social-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* ─── Auth screens ───────────────────────────────────────────────────────── */
.osac-auth-wrap         { display: flex; justify-content: center; align-items: flex-start; padding: 48px 20px; min-height: 60vh; }
.osac-auth-wrap--register { display: flex; align-items: center; justify-content: center; max-width: 100%; }
.osac-auth-card         { background: var(--osac-paper); border: 1px solid var(--osac-border); border-radius: var(--osac-r-xl); padding: 40px; width: 100%; max-width: 420px; box-shadow: var(--osac-shadow); }
.osac-auth-wrap--register .osac-auth-card { max-width: 100%; }
.osac-auth-header       { margin-bottom: 28px; }
.osac-auth-logo         { font-family: var(--osac-serif); font-size: 18px; font-weight: 600; color: var(--osac-ink); margin-bottom: 16px; display: block; }
.osac-auth-title        { font-family: var(--osac-serif); font-size: 24px; font-weight: 600; margin: 0 0 8px; }
.osac-auth-sub          { font-size: 14px; color: var(--osac-ink-4); margin: 0; }
.osac-auth-sub a        { color: var(--osac-ink); font-weight: 500; text-decoration: none; }
.osac-auth-footer       { font-size: 13px; text-align: center; color: var(--osac-ink-4); margin: 20px 0 0; }
.osac-auth-footer a     { color: var(--osac-ink); font-weight: 500; text-decoration: none; }
.osac-brand-logo        { font-family: var(--osac-serif); font-size: 22px; font-weight: 700; margin-bottom: 24px; }
.osac-brand-tagline h2  { font-family: var(--osac-serif); font-size: 28px; line-height: 1.3; margin-bottom: 12px; }
.osac-brand-tagline p   { font-size: 15px; color: var(--osac-ink-4); line-height: 1.7; margin-bottom: 28px; }
.osac-brand-steps       { display: flex; flex-direction: column; gap: 12px; }
.osac-brand-step        { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--osac-ink-3); }
.osac-brand-step__num   { width: 26px; height: 26px; background: var(--osac-ink); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; flex-shrink: 0; }

/* ─── Top navigation bar ─────────────────────────────────────────────────── */
.osac-topnav            { display: flex; align-items: center; gap: 0; padding: 0 24px; height: 56px; background: var(--osac-paper); border-bottom: 1px solid var(--osac-border); position: sticky; top: 0; z-index: 100; }
.osac-topnav-logo       { font-family: var(--osac-serif); font-size: 16px; font-weight: 600; color: var(--osac-ink); text-decoration: none; margin-right: 24px; flex-shrink: 0; }
.osac-topnav-links      { display: flex; align-items: center; gap: 4px; flex: 1; }
.osac-topnav-link       { font-size: 13px; color: var(--osac-ink-4); text-decoration: none; padding: 6px 12px; border-radius: 99px; transition: all var(--osac-trans); }
.osac-topnav-link:hover { background: var(--osac-paper-3); color: var(--osac-ink); }
.osac-topnav-right      { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.osac-topnav-avatar     { width: 32px; height: 32px; border-radius: 50%; background: var(--osac-ink); color: var(--osac-paper); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 500; overflow: hidden; text-decoration: none; }
.osac-topnav-avatar img { width: 100%; height: 100%; object-fit: cover; }
.osac-topnav-logout     { color: var(--osac-ink-4); display: flex; align-items: center; padding: 4px; border-radius: 6px; text-decoration: none; transition: all var(--osac-trans); }
.osac-topnav-logout:hover { color: var(--osac-red); background: var(--osac-red-bg); }

/* ─── Dashboard ──────────────────────────────────────────────────────────── */
.osac-dash              { background: var(--osac-paper-2); min-height: 100vh; }
.osac-dash-container    { max-width: 1600px; margin: 0 auto; padding: 32px 24px 80px; }
.osac-dash-welcome      { margin-bottom: 28px; }
.osac-dash-welcome h1   { font-family: var(--osac-serif); font-size: 32px; font-weight: 600; margin-bottom: 6px; }
.osac-dash-welcome h1 em { font-style: italic; }
.osac-dash-welcome p    { color: var(--osac-ink-4); font-size: 14px; margin: 0; }
.osac-dash-layout       { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 24px; align-items: start; }

/* Article quota summary on the author dashboard */
.osac-quota-panel { background: var(--osac-paper); border: 1px solid var(--osac-border); border-radius: var(--osac-r-lg); padding: 16px 20px; margin: 0 0 24px; }
.osac-quota-panel.is-blocked { border-color: #ead0a0; background: #fffdf8; }
.osac-quota-panel__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.osac-quota-panel__copy strong { display: block; color: var(--osac-ink); font-size: 14px; font-weight: 600; }
.osac-quota-panel__copy p { margin: 4px 0 0; color: var(--osac-ink-4); font-size: 12px; line-height: 1.55; }
.osac-quota-progress { height: 7px; margin-top: 14px; border-radius: 99px; overflow: hidden; background: var(--osac-paper-3); }
.osac-quota-progress__fill { height: 100%; background: var(--osac-green, #24764b); border-radius: 99px; transition: width .25s ease; }
.osac-quota-panel__foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 6px; color: var(--osac-ink-5); font-size: 11px; }
.osac-no-plans-message { margin: 0; padding: 18px; border-radius: 8px; background: var(--osac-paper-2); color: var(--osac-ink-3); text-align: center; font-size: 13px; }
@media (max-width: 600px) { .osac-quota-panel__top { align-items: flex-start; flex-direction: column; } }

/* Stats */
.osac-stats-grid        { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.osac-stat-card         { background: var(--osac-paper); border: 1px solid var(--osac-border); border-radius: var(--osac-r-lg); padding: 20px 22px; }
.osac-stat-card__num    { font-family: var(--osac-serif); font-size: 32px; font-weight: 600; color: var(--osac-ink); line-height: 1; margin-bottom: 4px; }
.osac-stat-card__lbl    { font-size: 12px; color: var(--osac-ink-4); }

/* Posts card */
.osac-posts-card        { background: var(--osac-paper); border: 1px solid var(--osac-border); border-radius: var(--osac-r-xl); overflow: hidden; min-width: 0; width: 100%; }
.osac-posts-card-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px 0; }
.osac-posts-card-header h2 { font-family: var(--osac-serif); font-size: 18px; font-weight: 600; margin: 0; }

.osac-table-wrap        { width: 100%; overflow-x: auto; }
.osac-table             { width: 100%; border-collapse: collapse; min-width: 650px; text-align: left; }
.osac-table th          { font-size: 12px; font-weight: 600; color: var(--osac-ink-4); padding: 12px 24px; border-bottom: 1px solid var(--osac-border); background: var(--osac-paper-2); text-transform: uppercase; letter-spacing: 0.5px; }
.osac-table td          { padding: 16px 24px; border-bottom: 1px solid var(--osac-border); vertical-align: middle; transition: background var(--osac-trans); }
.osac-post-row:last-child td { border-bottom: none; }
.osac-post-row:hover td { background: var(--osac-paper-2); }
.osac-col-article       { width: 50%; }
.osac-article-cell      { display: flex; align-items: center; gap: 14px; }
.osac-post-thumb        { width: 64px; height: 46px; border-radius: 6px; overflow: hidden; flex-shrink: 0; background: var(--osac-paper-3); }
.osac-post-thumb img    { width: 100%; height: 100%; object-fit: cover; display: block; }
.osac-post-thumb-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--osac-ink-5); }
.osac-article-details   { flex: 1; min-width: 0; }
.osac-post-title        { font-size: 15px; font-weight: 500; color: var(--osac-ink); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.osac-post-date         { font-size: 13px; color: var(--osac-ink-4); }
.osac-status-cell       { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.osac-post-actions      { display: flex; gap: 12px; justify-content: flex-end; }
.osac-table-col-actions { text-align: right; }
.osac-post-action       { font-size: 13px; font-weight: 500; color: var(--osac-blue); text-decoration: none; transition: color var(--osac-trans); }
.osac-post-action:hover { color: var(--osac-ink); }
.osac-post-action--danger { color: var(--osac-ink-4); }
.osac-post-action--danger:hover { color: var(--osac-red); }
.osac-feedback-notice   { margin-top: 6px; display: inline-flex; background: var(--osac-amber-bg); border: 1px solid #f0cc88; border-radius: 4px; padding: 4px 8px; font-size: 11px; font-weight: 500; color: var(--osac-amber); cursor: pointer; }
.osac-empty-state       { padding: 48px 24px; text-align: center; }
.osac-empty-state p     { color: var(--osac-ink-4); margin-bottom: 16px; }

/* Badges */
.osac-badge             { display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 99px; font-size: 11px; font-weight: 500; white-space: nowrap; }
.osac-badge--trial      { background: var(--osac-paper-3); color: var(--osac-ink-4); }
.osac-badge--basic      { background: var(--osac-blue-bg); color: var(--osac-blue); }
.osac-badge--elite      { background: var(--osac-amber-bg); color: var(--osac-amber); }
.osac-badge--super      { background: var(--osac-green-bg); color: var(--osac-green); }
.osac-badge--ultra      { background: var(--osac-ink); color: var(--osac-paper); }
.osac-badge--pub        { background: var(--osac-green-bg); color: var(--osac-green); }
.osac-badge--pen        { background: var(--osac-amber-bg); color: var(--osac-amber); }
.osac-badge--dft        { background: var(--osac-paper-3); color: var(--osac-ink-4); }
.osac-badge--fb         { background: var(--osac-blue-bg); color: var(--osac-blue); }

/* Sidebar cards */
.osac-dash-side         { display: flex; flex-direction: column; gap: 16px; }
.osac-side-card         { background: var(--osac-paper); border: 1px solid var(--osac-border); border-radius: var(--osac-r-xl); padding: 22px; }
.osac-side-card h3      { font-family: var(--osac-serif); font-size: 15px; font-weight: 600; margin-bottom: 14px; }
.osac-side-card--dark   { background: var(--osac-ink); color: var(--osac-paper); border-color: transparent; }
.osac-side-card--dark h3 { color: var(--osac-paper); }

/* Plan widget */
.osac-plan-upgrade      { font-size: 12px; color: var(--osac-ink-4); background: none; border: none; cursor: pointer; text-decoration: underline; padding: 0; font-family: var(--osac-sans); transition: color var(--osac-trans); }
.osac-plan-upgrade:hover { color: var(--osac-ink); }
.osac-plan-progress-label { display: flex; justify-content: space-between; font-size: 11px; color: var(--osac-ink-5); margin-bottom: 6px; }
.osac-plan-bar          { height: 4px; background: var(--osac-paper-3); border-radius: 99px; overflow: hidden; }
.osac-plan-bar-fill     { height: 100%; background: var(--osac-ink); border-radius: 99px; transition: width .4s ease; }
.osac-plan-expiry       { font-size: 11px; color: var(--osac-ink-5); margin-top: 8px; }

/* Notifications */
.osac-notif-list        { display: flex; flex-direction: column; gap: 10px; }
.osac-notif-item        { display: flex; gap: 10px; align-items: flex-start; }
.osac-notif-dot         { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.osac-notif-dot--green  { background: var(--osac-green); }
.osac-notif-dot--amber  { background: var(--osac-amber); }
.osac-notif-dot--blue   { background: var(--osac-blue); }
.osac-notif-text        { font-size: 13px; color: var(--osac-ink-2); line-height: 1.4; }
.osac-notif-time        { font-size: 11px; color: var(--osac-ink-5); margin-top: 2px; }

/* Onboarding */
.osac-onboard-step      { display: flex; align-items: center; gap: 10px; font-size: 13px; color: rgba(255,255,255,.8); padding: 6px 0; }
.osac-onboard-check     { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.3); display: flex; align-items: center; justify-content: center; font-size: 10px; flex-shrink: 0; }
.osac-onboard-check--done { background: #fff; color: var(--osac-ink); border-color: #fff; }

/* ─── Upgrade Modal ──────────────────────────────────────────────────────── */
.osac-modal-overlay     { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px; backdrop-filter: blur(2px); }
.osac-modal-box         { background: var(--osac-paper); border-radius: var(--osac-r-xl); width: 100%; max-width: 700px; max-height: 90vh; overflow-y: auto; box-shadow: var(--osac-shadow-lg); }
.osac-modal-header      { display: flex; align-items: center; justify-content: space-between; padding: 22px 28px; border-bottom: 1px solid var(--osac-border); }
.osac-modal-header h2   { font-family: var(--osac-serif); font-size: 20px; font-weight: 600; margin: 0; }
.osac-modal-close       { background: none; border: none; cursor: pointer; color: var(--osac-ink-4); width: 32px; height: 32px; border-radius: 6px; font-size: 18px; display: flex; align-items: center; justify-content: center; transition: all var(--osac-trans); }
.osac-modal-close:hover { background: var(--osac-paper-3); color: var(--osac-ink); }
.osac-modal-body        { padding: 24px 28px; }
body.osac-modal-open    { overflow: hidden; }

.osac-upgrade-plans     { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 14px; }
.osac-upgrade-plan-card { background: var(--osac-paper-2); border: 1px solid var(--osac-border); border-radius: var(--osac-r-lg); padding: 20px 16px; display: flex; flex-direction: column; gap: 10px; position: relative; }
.osac-upgrade-plan-card.is-featured { border: 2px solid var(--osac-ink); background: var(--osac-paper); }
.osac-upgrade-plan-badge { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); background: var(--osac-ink); color: #fff; font-size: 10px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 2px 10px; border-radius: 99px; white-space: nowrap; }
.osac-upgrade-plan-price { font-family: var(--osac-serif); font-size: 22px; font-weight: 600; color: var(--osac-ink); line-height: 1; }
.osac-upgrade-plan-dur  { font-size: 12px; font-weight: 400; color: var(--osac-ink-4); }
.osac-upgrade-plan-limit { font-size: 12px; color: var(--osac-ink-3); }
.osac-upgrade-plan-card form { margin: 0; }

/* ─── Editor ─────────────────────────────────────────────────────────────── */
.osac-editor-page       { background: var(--osac-paper); min-height: 100vh; }
.osac-editor-bar        { display: flex; align-items: center; gap: 10px; padding: 0 24px; height: 52px; border-bottom: 1px solid var(--osac-border); background: var(--osac-paper); position: sticky; top: 0; z-index: 10; flex-wrap: nowrap; overflow: hidden; }
.osac-editor-back       { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--osac-ink-4); text-decoration: none; transition: color var(--osac-trans); flex-shrink: 0; }
.osac-editor-back:hover { color: var(--osac-ink); }
.osac-editor-save       { font-size: 12px; color: var(--osac-ink-5); display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.osac-save-dot          { width: 6px; height: 6px; border-radius: 50%; background: var(--osac-green); transition: all var(--osac-trans); }
.osac-save-dot--saving  { background: var(--osac-amber); }
.osac-editor-wc         { font-size: 12px; color: var(--osac-ink-5); flex-shrink: 0; }
.osac-editor-actions    { display: flex; gap: 8px; margin-left: auto; flex-shrink: 0; }

.osac-cover-zone        { position: relative; height: 240px; background: var(--osac-paper-3); border-bottom: 1px solid var(--osac-border); cursor: pointer; overflow: hidden; }
.osac-cover-zone:hover .osac-cover-overlay { opacity: 1; }
.osac-cover-zone.has-image .osac-cover-hint { display: none; }
.osac-cover-zone.is-dragging { border: 2px dashed var(--osac-ink); }
.osac-cover-img         { width: 100%; height: 100%; object-fit: cover; display: block; }
.osac-cover-hint        { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--osac-ink-4); }
.osac-cover-hint strong { font-size: 15px; color: var(--osac-ink-3); }
.osac-cover-hint span   { font-size: 12px; }
.osac-cover-overlay     { position: absolute; inset: 0; background: rgba(0,0,0,.4); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; opacity: 0; transition: opacity var(--osac-trans); }

.osac-editor-main       { max-width: 760px; margin: 0 auto; padding: 40px 24px 80px; }
.osac-editor-content    { display: flex; flex-direction: column; }
.osac-editor-title      { border: none; outline: none; font-family: var(--osac-serif); font-size: 36px; font-weight: 700; color: var(--osac-ink); line-height: 1.2; resize: none; width: 100%; padding: 0; background: transparent; margin-bottom: 24px; overflow: hidden; }
.osac-editor-title::placeholder { color: var(--osac-ink-5); }
.osac-wp-editor-wrap    { margin-bottom: 0; }
.osac-wp-editor-wrap .wp-editor-wrap { border-radius: var(--osac-r); overflow: hidden; border: 1px solid var(--osac-border); }
.osac-wp-editor-wrap .wp-editor-tools { background: var(--osac-paper-3); }

/* Editor inline meta */
.osac-editor-meta       { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--osac-border); }
.osac-meta-section      { padding: 22px 0; border-bottom: 1px solid var(--osac-border); }
.osac-meta-section:last-child { border-bottom: none; }
.osac-meta-label        { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 500; color: var(--osac-ink-2); margin-bottom: 12px; }
.osac-meta-badge        { font-size: 11px; font-weight: 400; color: var(--osac-ink-5); margin-left: 4px; }
.osac-meta-hint         { font-size: 12px; color: var(--osac-ink-4); line-height: 1.5; margin-top: 8px; }

/* Tags */
.osac-tags-area         { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 10px 12px; border: 1.5px solid var(--osac-border); border-radius: var(--osac-r); background: var(--osac-paper-2); min-height: 44px; transition: border-color var(--osac-trans); }
.osac-tags-area:focus-within { border-color: var(--osac-ink); background: var(--osac-paper); }
.osac-tag-chip          { display: flex; align-items: center; gap: 4px; background: var(--osac-ink); color: var(--osac-paper); padding: 3px 8px 3px 10px; border-radius: 99px; font-size: 12px; }
.osac-tag-chip button   { background: none; border: none; color: rgba(255,255,255,.7); cursor: pointer; font-size: 14px; padding: 0; line-height: 1; }
.osac-tag-input         { border: none; outline: none; background: transparent; font-size: 13px; font-family: var(--osac-sans); color: var(--osac-ink); min-width: 140px; flex: 1; }

/* Notes thread */
.osac-notes-section     { padding: 28px 0; border-top: 1px solid var(--osac-border); }
.osac-notes-thread      { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.osac-note              { padding: 14px 16px; border-radius: var(--osac-r); max-width: 88%; }
.osac-note--editor      { background: var(--osac-blue-bg); border: 1px solid #c5d8f7; border-left: 3px solid var(--osac-blue); align-self: flex-start; }
.osac-note--author      { background: var(--osac-amber-bg); border: 1px solid #f5d9a0; border-left: 3px solid var(--osac-amber); align-self: flex-end; }
.osac-note-meta         { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; font-size: 12px; }
.osac-note-meta strong  { color: var(--osac-ink); }
.osac-note-meta span    { color: var(--osac-ink-5); }
.osac-note-body         { font-size: 14px; color: var(--osac-ink-2); line-height: 1.6; }
.osac-note-body p       { margin-bottom: 8px; }
.osac-note-body p:last-child { margin-bottom: 0; }
.osac-note-reply-form   { background: var(--osac-paper-2); border: 1px solid var(--osac-border); border-radius: var(--osac-r-lg); padding: 18px; }

/* Editor submit row */
.osac-editor-submit-row { display: flex; justify-content: flex-end; gap: 10px; padding: 28px 0 0; border-top: 1px solid var(--osac-border); margin-top: 8px; }

/* ─── Profile overview cards ─────────────────────────────────────────────── */
.osac-profile-overview-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.osac-profile-overview-card  { background: var(--osac-paper); border: 1px solid var(--osac-border); border-radius: var(--osac-r-lg); padding: 20px 22px; }
.osac-profile-overview-card__head { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: var(--osac-ink-3); margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--osac-border); }
.osac-profile-ov-row   { display: flex; align-items: center; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--osac-border); }
.osac-profile-ov-row:last-child { border-bottom: none; }
.osac-profile-ov-label { font-size: 13px; color: var(--osac-ink-3); font-weight: 500; }
.osac-profile-ov-val   { font-size: 13px; color: var(--osac-ink-2); }
.osac-profile-ov-num   { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; border-radius: 99px; font-size: 12px; font-weight: 600; padding: 0 8px; }
@media (max-width: 600px) {
  .osac-profile-overview-grid { grid-template-columns: 1fr; }
}

/* ─── Profile ────────────────────────────────────────────────────────────── */
.osac-profile-wrap      { max-width: 720px; margin: 0 auto; padding: 32px 24px 80px; }
.osac-profile-header    { display: flex; align-items: center; gap: 20px; margin-bottom: 28px; }
.osac-profile-name      { font-family: var(--osac-serif); font-size: 22px; font-weight: 600; margin-bottom: 4px; }
.osac-profile-meta      { font-size: 13px; color: var(--osac-ink-4); margin: 0; }
.osac-avatar-upload     { position: relative; flex-shrink: 0; }
.osac-avatar-img        { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; display: block; }
.osac-avatar-initials   { width: 80px; height: 80px; border-radius: 50%; background: var(--osac-ink); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 500; }
.osac-avatar-edit-btn   { position: absolute; bottom: 0; right: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--osac-paper); border: 1px solid var(--osac-border); cursor: pointer; font-size: 12px; display: flex; align-items: center; justify-content: center; transition: all var(--osac-trans); padding:none;}
.osac-avatar-edit-btn:hover { background: var(--osac-ink); color: #fff; }
.osac-profile-actions   { display: flex; justify-content: flex-end; gap: 10px; padding-top: 16px; }

/* ─── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .osac-auth-wrap--register { grid-template-columns: 1fr; }
  .osac-brand-logo, .osac-brand-tagline { display: none; }
  .osac-auth-wrap--register .osac-auth-card { max-width: 460px; margin: 0 auto; }
  .osac-dash-layout { grid-template-columns: 1fr; }
  .osac-dash-side { display: flex; flex-direction: column; gap: 16px; }
  .osac-stats-grid { grid-template-columns: 1fr 1fr; }
  .osac-upgrade-plans { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .osac-topnav { padding: 0 16px; }
  .osac-topnav-links { display: none; }
  .osac-dash-container { padding: 20px 16px 60px; }
  .osac-stats-grid { grid-template-columns: 1fr 1fr; }
  .osac-field-row { grid-template-columns: 1fr; }
  .osac-editor-bar { padding: 0 12px; gap: 6px; }
  .osac-editor-save, .osac-editor-wc { display: none; }
  .osac-editor-actions .osac-btn--sm.osac-btn--ghost:not(#osac-submit-btn):not(#osac-save-draft-btn) { display: none; }
  .osac-editor-main { padding: 24px 16px 60px; }
  .osac-editor-title { font-size: 26px; }
  .osac-upgrade-plans { grid-template-columns: 1fr 1fr; }
  .osac-social-grid { grid-template-columns: 1fr; }
  .osac-dash-side { display: flex; flex-direction: column; gap: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════
   SIDEBAR NAVIGATION — replaces top nav on dashboard/editor/profile
   ═══════════════════════════════════════════════════════════════════ */

/* The .osac-dash wrapper is full-width, uses flex to put sidebar left */
.osac-dash.osac-wrap {
  display: flex;
  align-items: stretch;
  min-height: 100vh;
  background: var(--osac-paper-2);
  /* Break out of any narrow theme column */
  margin-left:  calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  max-width: 100vw;
  box-sizing: border-box;
}

/* Sidebar */
.osac-sidebar {
  width: 220px;
  min-width: 220px;
  flex-shrink: 0;
  background: var(--osac-paper);
  border-right: 1px solid var(--osac-border);
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  z-index: 90;
}
.osac-sidebar-inner {
  display: flex;
  flex-direction: column;
  padding: 22px 16px 24px;
  height: 100%;
  gap: 2px;
}
.osac-sidebar-logo {
  font-family: var(--osac-serif);
  font-size: 15px;
  font-weight: 700;
  color: var(--osac-ink);
  text-decoration: none;
  display: block;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--osac-border);
}
.osac-sidebar-identity {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 6px;
  margin-bottom: 10px;
}
.osac-sidebar-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--osac-ink);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  flex-shrink: 0;
  overflow: hidden;
}
.osac-sidebar-avatar img { width:100%;height:100%;object-fit:cover; }
.osac-sidebar-info { display:flex;flex-direction:column;gap:4px;min-width:0; }
.osac-sidebar-name { font-size:13px;font-weight:500;color:var(--osac-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.osac-sidebar-nav { display:flex;flex-direction:column;gap:2px;flex:1; }
.osac-sidebar-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: var(--osac-r);
  font-size: 13px;
  color: var(--osac-ink-3);
  text-decoration: none;
  transition: all var(--osac-trans);
  font-weight: 400;
}
.osac-sidebar-link svg   { flex-shrink:0;opacity:.65; }
.osac-sidebar-link:hover { background:var(--osac-paper-3);color:var(--osac-ink); }
.osac-sidebar-link.is-active { background:var(--osac-ink);color:#fff;font-weight:500; }
.osac-sidebar-link.is-active svg { opacity:1; }
.osac-sidebar-write-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 12px 0 4px;
  width: 100%;
  height: 38px !important;
  font-size: 13px !important;
  border-radius: var(--osac-r) !important;
  text-decoration: none;
}
.osac-sidebar-logout {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 12px;
  color: var(--osac-ink-5);
  text-decoration: none;
  border-radius: var(--osac-r);
  transition: all var(--osac-trans);
  margin-top: 4px;
}
.osac-sidebar-logout:hover { color:var(--osac-red);background:var(--osac-red-bg); }

/* Main area next to sidebar */
.osac-dash-main { flex:1;min-width:0;overflow:hidden; }
.osac-dash-main .osac-dash-container { padding:32px 28px 80px; }

/* Hide old topnav when sidebar is present */
.osac-dash .osac-topnav { display:none !important; }

/* Editor and profile pages use simple topnav (not sidebar) — keep it */
.osac-editor-page .osac-topnav { display:flex !important; }
.osac-profile-page .osac-topnav { display:flex !important; }

/* ─── Dashboard sidebar overview cards ──────────────────────────────────── */
.osac-side-card-icon-head { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: var(--osac-ink-4); margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--osac-border); }
.osac-ov-row       { display: flex; align-items: center; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--osac-border); }
.osac-ov-row:last-child { border-bottom: none; }
.osac-ov-label     { font-size: 12px; color: var(--osac-ink-4); }
.osac-ov-val       { font-size: 12px; color: var(--osac-ink-2); font-weight: 500; }
.osac-ov-num       { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 24px; border-radius: 99px; font-size: 11px; font-weight: 600; padding: 0 7px; color: #fff; }
.osac-ov-num--total { background: var(--osac-ink); }
.osac-ov-num--pub   { background: var(--osac-green); }
.osac-ov-num--pen   { background: var(--osac-amber); }
.osac-ov-num--dft   { background: var(--osac-ink-5); }

/* ─── Dashboard editor notes card ───────────────────────────────────────── */
.osac-notes-card h3     { margin-bottom: 12px; }
.osac-dash-note-item    { padding: 12px 0; border-bottom: 1px solid var(--osac-border); }
.osac-dash-note-item:last-child { border-bottom: none; padding-bottom: 4px; }
.osac-dash-note-meta    { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; }
.osac-dash-note-icon    { font-size: 15px; flex-shrink: 0; margin-top: 1px; }
.osac-dash-note-body    { flex: 1; min-width: 0; }
.osac-dash-note-headline { font-size: 13px; color: var(--osac-ink-2); line-height: 1.4; }
.osac-dash-note-headline strong { font-weight: 500; color: var(--osac-ink); }
.osac-dash-note-preview { font-size: 12px; color: var(--osac-ink-5); margin-top: 3px; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.osac-dash-note-cta     { display: inline-flex; align-items: center; font-size: 12px; font-weight: 500; color: var(--osac-blue); text-decoration: none; padding: 4px 0; transition: color var(--osac-trans); }
.osac-dash-note-cta:hover { color: var(--osac-ink); }

/* ─── Payment History card ───────────────────────────────────────────────── */
.osac-pay-list          { display: flex; flex-direction: column; gap: 8px; }
.osac-pay-item          { display: flex; flex-direction: column; gap: 3px; padding: 9px 0; border-bottom: 1px solid var(--osac-border); }
.osac-pay-item:last-child { border-bottom: none; }
.osac-pay-label         { font-size: 13px; font-weight: 500; color: var(--osac-ink-2); }
.osac-pay-meta          { display: flex; align-items: center; justify-content: space-between; }
.osac-pay-meta span     { font-size: 12px; color: var(--osac-ink-4); }
.osac-pay-date          { font-size: 11px; color: var(--osac-ink-5); }
.osac-pay-invoice-link  { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 500; color: var(--osac-blue); text-decoration: none; margin-top: 4px; transition: color var(--osac-trans); }
.osac-pay-invoice-link:hover { color: var(--osac-ink); }

/* ─── Post-purchase thank-you popup ─────────────────────────────────── */
.osac-thankyou-popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(3px);
  animation: osac-fadein .3s ease;
}
.osac-thankyou-popup-box {
  background: var(--osac-paper);
  border-radius: var(--osac-r-xl);
  padding: 40px;
  max-width: 420px;
  width: 90%;
  text-align: center;
  box-shadow: var(--osac-shadow-lg);
  animation: osac-slidein .35s ease;
}
.osac-thankyou-icon { font-size: 48px; margin-bottom: 12px; }
.osac-thankyou-popup-box h2 { font-family:var(--osac-serif);font-size:22px;font-weight:700;margin:0 0 10px; }
.osac-thankyou-popup-box p  { font-size:14px;color:var(--osac-ink-4);margin:0 0 20px;line-height:1.6; }
@keyframes osac-fadein  { from{opacity:0} to{opacity:1} }
@keyframes osac-slidein { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }

/* ─── Notes card in dashboard sidebar ───────────────────────────────── */
.osac-notes-card { background:var(--osac-paper);border:1px solid var(--osac-border);border-radius:var(--osac-r-xl);padding:20px; }
.osac-notes-card h3 { font-family:var(--osac-serif);font-size:15px;font-weight:600;margin:0 0 14px; }
.osac-dash-note-item { padding:10px 0;border-bottom:1px solid var(--osac-border); }
.osac-dash-note-item:last-child { border-bottom:none; }
.osac-dash-note-item p { font-size:13px;color:var(--osac-ink-3);margin:0 0 4px;line-height:1.5; }
.osac-dash-note-item small { font-size:11px;color:var(--osac-ink-5); }

/* ─── Responsive sidebar ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .osac-dash.osac-wrap { flex-direction:column; }
  .osac-sidebar {
    width:100%;min-width:100%;height:auto;
    position:sticky;top:0;
    border-right:none;border-bottom:1px solid var(--osac-border);
    z-index:200;
  }
  .osac-sidebar-inner {
    flex-direction:row;flex-wrap:wrap;align-items:center;
    padding:10px 16px;height:auto;gap:6px;
  }
  .osac-sidebar-logo { margin:0;padding:0;border:none;font-size:14px; }
  .osac-sidebar-identity { display:none; }
  .osac-sidebar-nav {
    flex-direction:row;flex:none;gap:2px;
  }
  .osac-sidebar-link { padding:6px 10px;font-size:12px; }
  .osac-sidebar-write-btn { margin:0;height:32px!important;font-size:12px!important;padding:0 12px!important; }
  .osac-sidebar-logout { padding:6px 10px;font-size:12px;margin:0; }
  .osac-dash-main .osac-dash-container { padding:20px 16px 60px; }
}

/* ─── Dashboard without sidebar ─────────────────────────────────────────── */
.osac-dash--no-sidebar.osac-dash.osac-wrap {
  margin-left: 0;
  margin-right: 0;
  width: auto;
  max-width: 100%;
  background: var(--osac-paper-2);
  min-height: 60vh;
}
.osac-dash--no-sidebar .osac-dash-container {
  max-width: 1600px;
  margin: 0 auto;
  padding: 32px 32px 80px;
}
/* Hide sidebar if somehow still rendered */
.osac-dash--no-sidebar .osac-sidebar { display: none !important; }

/* OSAC v9.17.2: clearer plan feature cards and public author profile links. */
.osac-upgrade-plan-features{list-style:none!important;margin:6px 0 14px!important;padding:12px 0 0!important;border-top:1px solid var(--osac-border,#e8e8e3);display:grid;gap:9px;font-size:12px;line-height:1.45;color:var(--osac-ink-3,#4b5563)}
.osac-upgrade-plan-features li{display:flex;align-items:flex-start;gap:8px;margin:0!important;padding:0!important}
.osac-upgrade-plan-features li:before{display:none!important;content:none!important}
.osac-plan-feature-icon{display:inline-flex;flex:0 0 20px;width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;background:#eef7f2;color:#24764b;font-weight:700;font-size:13px}
.osac-upgrade-plan-card.is-featured .osac-upgrade-plan-features{border-color:rgba(0,0,0,.12)}
.osac-profile-payment-history{display:block;grid-column:1/-1;width:100%;max-width:none;min-width:0;box-sizing:border-box}
.osac-profile-payment-history__card{display:block;width:100%;box-sizing:border-box}
.osac-author-social-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}
.osac-author-social-link{display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(100,116,139,.25);border-radius:50%;color:inherit!important;background:rgba(148,163,184,.08);text-decoration:none!important;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.osac-author-social-link:hover,.osac-author-social-link:focus{background:rgba(148,163,184,.18);border-color:rgba(100,116,139,.6);transform:translateY(-1px)}
.osac-author-social-link svg{display:block;width:17px;height:17px}


/* ─── Public author profile links and native WordPress author avatars ─────── */
.osac-author-social-links {
  display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap;
  gap: 10px; margin: 14px 0 0; padding: 0; line-height: 1;
}
.osac-author-social-link {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px;
  width: 36px; height: 36px; box-sizing: border-box; border-radius: 50%;
  color: var(--osac-ink-3, #4a4a4a); background: var(--osac-paper-2, #f9f9f7);
  border: 1px solid var(--osac-border, #e8e8e3); text-decoration: none !important;
  transition: color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease;
}
.osac-author-social-link svg { display: block; width: 18px; height: 18px; }
.osac-author-social-link:hover, .osac-author-social-link:focus-visible {
  color: var(--osac-blue, #1a4fa0); background: var(--osac-blue-bg, #eef3fc);
  border-color: #c5d8f7; transform: translateY(-1px); outline-offset: 3px;
}
.osac-author-social-link:focus-visible { outline: 2px solid currentColor; }
img.osac-core-author-avatar { object-fit: cover; }
@media (max-width: 600px) { .osac-author-social-links { gap: 8px; margin-top: 12px; } .osac-author-social-link { flex-basis: 34px; width: 34px; height: 34px; } }


/* OSAC v9.17.5: compact rectangular author website/social icons per publisher styling. */
.osac-author-social-links {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.osac-author-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: content-box !important;
  width: 18px !important;
  height: 18px !important;
  padding: 7px !important;
  margin-right: 5px !important;
  margin-bottom: 5px !important;
  border: 0 !important;
  border-radius: 5px !important;
  vertical-align: bottom !important;
  color: #374151 !important;
  background: #ddd !important;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.osac-author-social-link svg { width: 18px !important; height: 18px !important; display: block !important; }
.osac-author-social-link:hover,
.osac-author-social-link:focus-visible {
  background: #c9c9c9 !important;
  color: #111827 !important;
  transform: translateY(-1px);
  outline-offset: 2px;
}
/* Plan chooser: give copy-rich cards enough room as Trial + four paid plans are visible. */
.osac-modal-box { width: min(96vw, 1280px) !important; max-width: 1280px !important; }
.osac-modal-body { padding: 26px 30px !important; }
.osac-upgrade-plans { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; align-items: stretch; gap: 16px !important; }
.osac-upgrade-plan-card { min-width: 0; overflow-wrap: anywhere; padding: 22px 20px !important; min-height: 100%; }
.osac-upgrade-plan-features li > span:last-child { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 980px) {
  .osac-modal-box { max-width: 900px !important; }
  .osac-upgrade-plans { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  .osac-modal-box { width: calc(100vw - 20px) !important; max-width: 540px !important; }
  .osac-modal-body { padding: 18px 14px !important; }
  .osac-upgrade-plans { grid-template-columns: minmax(0, 1fr) !important; }
  .osac-upgrade-plan-card { padding: 18px 16px !important; }
}

/* OSAC v9.17.7: highlight dofollow policy separately from other rel attributes. */
.osac-upgrade-plan-features .osac-plan-feature-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;min-width:0;width:100%}
.osac-upgrade-plan-features .osac-plan-feature-content strong{font-weight:650;color:var(--osac-ink-2,#273444)}
.osac-plan-feature-status{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;line-height:1.3;font-weight:700;white-space:nowrap}
.osac-plan-feature-status.is-enabled{background:#e8f6ee;color:#167348;border:1px solid #b7e2c8}
.osac-plan-feature-status.is-disabled{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}
.osac-plan-dofollow-feature{padding:7px 8px!important;margin:0 -8px!important;background:rgba(34,139,84,.045);border-radius:8px}
@media(max-width:520px){.osac-upgrade-plan-features .osac-plan-feature-content{align-items:flex-start;flex-direction:column;gap:4px}}


/* OSAC v10.0.0: reliable publisher styling for injected author-card links.
 * Specificity and !important protect the requested presentation from theme author-box rules.
 */
body .osac-author-social-links > a.osac-author-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: content-box !important;
  width: 18px !important;
  height: 18px !important;
  padding: 7px !important;
  margin: 0 5px 5px 0 !important;
  border: 0 !important;
  border-radius: 5px !important;
  vertical-align: bottom !important;
  color: #374151 !important;
  background: #ddd !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background-color .15s ease, color .15s ease, transform .15s ease !important;
}
body .osac-author-social-links > a.osac-author-social-link > svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}
body .osac-author-social-links > a.osac-author-social-link:hover,
body .osac-author-social-links > a.osac-author-social-link:focus-visible {
  background: #c9c9c9 !important;
  color: #111827 !important;
  transform: translateY(-1px) !important;
}
body .osac-author-social-links > a.osac-author-social-link:focus-visible {
  outline: 2px solid #374151 !important;
  outline-offset: 2px !important;
}
@media (max-width: 600px) {
  body .osac-author-social-links > a.osac-author-social-link { margin-right: 5px !important; }
}
