/* Ever Joe Studio — shared styles for the studio (backend) pages. */
:root{
  --ivory:#F7F2EA;--warm-white:#FDFBF7;--linen:#EAE0D1;--sage:#A9B49E;
  --deep-sage:#5F6D52;--soft-gold:#C9A96A;--deep-gold:#B08D4F;--taupe:#6B6258;--ink:#2A2520;
  --serif:'Lora',Georgia,serif;--sans:'Poppins','Helvetica Neue',Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6;padding:40px 20px 80px}
.wrap{max-width:760px;margin:0 auto}
.wrap.narrow{max-width:480px}
.label{font-family:var(--serif);text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--deep-gold)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(26px,5vw,36px);margin:8px 0 6px}
h2{font-family:var(--serif);font-weight:500;font-size:22px;margin-bottom:12px}
.sub{color:var(--taupe);margin-bottom:28px}
.card{background:var(--warm-white);border:1px solid var(--linen);border-radius:8px;padding:28px;margin-bottom:20px}
label.field{display:block;margin-bottom:18px}
label.field span{display:block;font-size:13px;letter-spacing:.04em;color:var(--taupe);margin-bottom:6px}
input[type=text],input[type=password],textarea,select{width:100%;padding:12px 14px;border:1px solid var(--linen);border-radius:4px;background:var(--ivory);font-family:var(--sans);font-weight:300;font-size:15px;color:var(--ink)}
textarea{min-height:90px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--sage)}
.btn{display:inline-block;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.16em;text-transform:uppercase;padding:14px 30px;border-radius:3px;text-decoration:none;cursor:pointer;border:none;transition:background .2s,opacity .2s}
.btn.primary{background:var(--deep-sage);color:var(--warm-white)}
.btn.primary:hover{background:#4E5A43}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--warm-white)}
.btn.gold{background:var(--soft-gold);color:var(--ink)}
.btn.small{padding:9px 16px;font-size:11px}
.btn.danger{background:transparent;color:#8A4B39;border:1px solid #C99E8F}
.btn.danger:hover{background:#8A4B39;color:var(--warm-white)}
.btn:disabled{opacity:.5;cursor:default}
.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;align-items:center}
.hidden{display:none}
.status{padding:14px 16px;border-radius:6px;font-size:14px;margin-top:16px}
.status.ok{background:#EAF0E4;color:var(--deep-sage)}
.status.err{background:#F4E3DD;color:#8A4B39}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--linen);border-top-color:var(--deep-sage);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.topbar{display:flex;justify-content:space-between;align-items:center;max-width:760px;margin:0 auto 26px;font-size:13px;color:var(--taupe)}
.topbar a{color:var(--deep-sage);text-decoration:none;font-weight:400}
.topbar a:hover{text-decoration:underline}
.topbar .signout{background:none;border:none;color:var(--taupe);cursor:pointer;font:inherit;text-decoration:underline}
.nav-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.nav-card{display:block;background:var(--warm-white);border:1px solid var(--linen);border-radius:8px;padding:24px;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.nav-card:hover{border-color:var(--sage);transform:translateY(-2px)}
.nav-card h3{font-family:var(--serif);font-weight:500;font-size:19px;margin-bottom:6px}
.nav-card p{color:var(--taupe);font-size:13.5px}
.piece{display:flex;gap:18px;background:var(--warm-white);border:1px solid var(--linen);border-radius:8px;padding:18px;margin-bottom:16px}
.piece img{width:96px;height:120px;object-fit:cover;border-radius:5px;border:1px solid var(--linen);flex-shrink:0;background:var(--ivory)}
.piece .body{flex:1;min-width:0}
.piece h3{font-family:var(--serif);font-weight:500;font-size:19px;margin-bottom:4px}
.piece p.story{color:var(--taupe);font-size:14px;margin-bottom:10px}
.piece .meta{font-size:12px;color:var(--taupe);margin-bottom:10px}
.badge{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:20px;vertical-align:2px;margin-left:8px}
.badge.published{background:#EAF0E4;color:var(--deep-sage)}
.badge.pending{background:#F6ECD9;color:var(--deep-gold)}
.caption-box{background:var(--ivory);border:1px dashed var(--sage);border-radius:6px;padding:14px;font-size:14px;white-space:pre-wrap;margin-top:10px}
table.team{width:100%;border-collapse:collapse;font-size:14px}
table.team th{font-family:var(--serif);text-align:left;font-weight:500;padding:10px 12px;border-bottom:1px solid var(--linen);color:var(--taupe);font-size:13px}
table.team td{padding:12px;border-bottom:1px solid var(--linen);vertical-align:middle}
.logo-mark{height:44px;display:block;margin:0 auto 22px}
.center{text-align:center}
