/* Conprivo — brand palette: #00032B navy, #F8FF6C yellow */
:root{
  --navy:#00032B;
  --navy-2:#0c1248;
  --yellow:#F8FF6C;
  --ink:#0b1020;
  --muted:#5a6072;
  --bg:#f6f7fb;
  --card:#ffffff;
  --border:#e4e6ee;
  --danger:#c62828;
  --ok:#1e7e4c;
  --warn:#a36a00;
  --radius:8px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{color:var(--navy);line-height:1.2}
h1{font-size:2rem;margin:.2rem 0 1rem}
h2{font-size:1.5rem}
h3{font-size:1.1rem;margin:.5rem 0}

.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}

/* Topbar */
.topbar{background:var(--navy);color:#fff}
.topbar a{color:#fff}
.topbar .topbar-inner{display:flex;align-items:center;justify-content:space-between;
  max-width:1200px;margin:0 auto;padding:1rem 1.25rem}
.topbar .brand{font-weight:700;font-size:1.2rem;letter-spacing:.2px;display:inline-flex;align-items:center;gap:.5rem}
.brand-logo{height:22px;width:auto;display:block}
.topbar .topnav{display:flex;gap:1.25rem;align-items:center}
.topbar .topnav a{opacity:.92}
.topbar .topnav a:hover{opacity:1;text-decoration:none}
.admin-topbar{background:#2a0010;border-bottom:3px solid var(--yellow)}
.admin-badge{background:var(--yellow);color:var(--navy);padding:.1rem .4rem;
  font-size:.7rem;font-weight:700;border-radius:3px;margin-left:.4rem;letter-spacing:.5px}

/* Flash */
.flash{padding:.9rem 1.25rem;font-size:.95rem;max-width:1100px;margin:0 auto}
.flash.success{background:#e7f6ec;color:var(--ok)}
.flash.error  {background:#fdecea;color:var(--danger)}
.flash.info   {background:#eef2ff;color:#1f2a6b}

/* Buttons */
.btn{display:inline-block;padding:.55rem 1rem;border:1px solid var(--navy);
  background:#fff;color:var(--navy);border-radius:var(--radius);font-weight:600;
  cursor:pointer;font-size:.95rem;line-height:1.2}
.btn:hover{text-decoration:none;background:var(--bg)}
.btn.primary{background:var(--yellow);color:var(--navy);border-color:var(--navy)}
.btn.primary:hover{background:#f3fa5a}
.btn.ghost{background:transparent}
.btn.danger{background:#fff;border-color:var(--danger);color:var(--danger)}
.btn.sm{padding:.3rem .6rem;font-size:.85rem}
.btn.lg{padding:.8rem 1.5rem;font-size:1.05rem}

/* Cards */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:1.25rem;margin:1rem 0}
.card.small{font-size:.9rem;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0}
.bignum{font-size:2.2rem;font-weight:700;color:var(--navy);margin:.3rem 0}

/* Tables */
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden}
.table th,.table td{padding:.7rem .9rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.table th{background:#fafbff;font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}

/* Status */
.status{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#eef1f8;color:#2a3160}
.status.pending{background:#fff3d6;color:var(--warn)}
.status.approved{background:#e5ecff;color:#1f2a6b}
.status.published{background:#e7f6ec;color:var(--ok)}
.status.failed{background:#fdecea;color:var(--danger)}

/* Forms */
label{display:block;margin:.6rem 0;color:var(--ink);font-size:.95rem}
label.inline{display:inline-flex;align-items:center;gap:.4rem;margin-right:1rem}
label.checkbox{display:flex;align-items:center;gap:.5rem;margin-top:1rem}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],select,textarea{
  display:block;width:100%;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;
  background:#fff;font:inherit;color:inherit;margin-top:.25rem}
input:focus,select:focus,textarea:focus{outline:2px solid var(--yellow);outline-offset:1px;border-color:var(--navy)}
small{color:var(--muted)}

/* Dashboard shell */
.shell{display:grid;grid-template-columns:220px 1fr;gap:0;max-width:1200px;margin:0 auto}
.sidebar{background:#fff;border-right:1px solid var(--border);min-height:calc(100vh - 120px)}
.sidebar nav{display:flex;flex-direction:column;padding:1rem}
.sidebar nav a{padding:.55rem .7rem;border-radius:6px;color:var(--ink);margin:.1rem 0}
.sidebar nav a:hover{background:var(--bg);text-decoration:none}
.sidebar nav a.active{background:var(--navy);color:#fff}
.content{padding:1.5rem 2rem}
.admin-content{max-width:1200px;margin:0 auto}

@media(max-width:820px){
  .shell{grid-template-columns:1fr}
  .sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--border)}
  .sidebar nav{flex-direction:row;flex-wrap:wrap;gap:.25rem}
}

/* Public hero / marketing */
.hero{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;padding:4rem 0 5rem}
.hero h1{color:#fff;font-size:2.6rem;line-height:1.15;margin:0 0 1rem}
.hero .hl{color:var(--yellow)}
.hero .sub{font-size:1.15rem;opacity:.9;max-width:720px}
.hero .btn{margin-right:.5rem}
.hero .btn.ghost{color:var(--yellow);border-color:var(--yellow)}

.features{padding:3.5rem 0;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media(max-width:820px){.cols-3{grid-template-columns:1fr}}
.feature h3{font-size:1.25rem}
.feature p{color:var(--muted)}

.cta{padding:3rem 0;text-align:center;background:var(--yellow)}
.cta h2{margin-top:0}

.pricing-hero{padding:3rem 0 1rem;text-align:center}
.pricing-grid{padding:1rem 0 4rem}
.plan-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.8rem;text-align:center}
.plan-card.featured{border-color:var(--navy);box-shadow:0 6px 22px rgba(0,3,43,.08);transform:translateY(-4px)}
.plan-card .price{font-size:2.6rem;font-weight:800;color:var(--navy);margin:.4rem 0 0}
.plan-card .price span{font-size:1rem;font-weight:500;color:var(--muted)}
.plan-card .posts{color:var(--navy);font-weight:600;margin:.2rem 0 1rem}
.plan-card .blurb{color:var(--muted);font-size:.95rem;min-height:6em}

.banner.trial{background:var(--yellow);color:var(--navy);padding:.75rem 1rem;
  border-radius:var(--radius);margin-bottom:1rem;font-weight:600}

.filterbar{display:flex;gap:.5rem;margin:1rem 0}
.filterbar a{padding:.35rem .75rem;border:1px solid var(--border);border-radius:999px;color:var(--muted)}
.filterbar a.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.filterbar a:hover{text-decoration:none}

/* Article preview */
.article-preview{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;margin:1rem 0}
.article-preview h1{margin-top:0}
.article-preview p{font-size:1.05rem}
.article-image{margin:1.2rem 0;text-align:center}
.article-image img{max-width:100%;height:auto;border-radius:6px}
.article-image figcaption{font-size:.85rem;color:var(--muted);margin-top:.4rem}

/* Footer */
.footer{border-top:1px solid var(--border);background:#fff;margin-top:3rem}
.footer-inner{max-width:1200px;margin:0 auto;padding:1.25rem;display:flex;justify-content:space-between;color:var(--muted);font-size:.9rem}
.footer nav{display:flex;gap:1rem}

/* Inline edit row */
.inline-edit{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.inline-edit input[type=text],.inline-edit input[type=number]{margin-top:0}

/* Format checkbox grid */
.formats-fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin:1rem 0}
.formats-fieldset legend{font-weight:600;color:var(--navy);padding:0 .4rem}
.formats-fieldset .checkbox.inline{display:inline-flex;width:calc(50% - .5rem);margin:.25rem 0}
@media(max-width:640px){.formats-fieldset .checkbox.inline{width:100%}}
.schedule-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
@media(max-width:640px){.schedule-row{grid-template-columns:1fr}}

/* Admin impersonation banner */
.impersonation-banner{position:sticky;top:0;z-index:1000;background:#b3261e;color:#fff;
  font-weight:600;padding:.65rem 1rem;border-bottom:3px solid var(--yellow);
  box-shadow:0 2px 8px rgba(0,0,0,.18)}
.impersonation-banner .impersonation-inner{max-width:1200px;margin:0 auto;display:flex;
  align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.impersonation-banner strong{background:rgba(255,255,255,.18);padding:.05rem .4rem;border-radius:4px}
.impersonation-banner .btn{background:#fff;color:#b3261e;border-color:#fff;font-weight:700}
.impersonation-banner .btn:hover{background:var(--yellow);color:var(--navy)}

/* Inline expandable hint inside a form */
details.hint{margin:.6rem 0 1rem;background:#fafbff;border:1px solid var(--border);border-radius:6px;padding:.5rem .8rem}
details.hint summary{cursor:pointer;font-weight:600;color:var(--navy);user-select:none}
details.hint summary code{background:#eef1f8;padding:.05rem .3rem;border-radius:4px;font-size:.9em}
details.hint[open]{padding-bottom:.8rem}
details.hint p{margin:.5rem 0 .25rem;color:var(--ink)}
details.hint ul{margin:.4rem 0 .2rem 1.1rem}
details.hint li{margin:.4rem 0;line-height:1.5}
details.hint code{background:#eef1f8;padding:.05rem .35rem;border-radius:4px;font-size:.9em}

/* Setup-guide panels on connect pages */
.card.guide{background:#fafbff;border-left:4px solid var(--navy)}
.card.guide h3{margin-top:0}
.card.guide h4{margin:1.2rem 0 .3rem;color:var(--navy);font-size:1.02rem}
.card.guide p{margin:.3rem 0 .6rem;color:var(--ink)}
.card.guide ul{margin:.3rem 0 .2rem 1.1rem;padding:0}
.card.guide ul li{margin:.45rem 0;line-height:1.5}
.card.guide code{background:#eef1f8;padding:.08rem .35rem;border-radius:4px;font-size:.9em}
textarea{display:block;width:100%;padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;
  background:#fff;font:inherit;color:inherit;margin-top:.25rem;min-height:5em}
.article-preview strong{background:linear-gradient(transparent 60%, var(--yellow) 60%);padding:0 .15em}
