/* ============================================================
   ROCKWATER MEDIA — Admin console styles
   ============================================================ */
:root{
  --ink:#15120F; --ink-soft:#3A352E; --paper:#F7F3EA; --paper-deep:#EFE8D8;
  --line:#E2DBC8; --terracotta:#E25A2C; --terracotta-deep:#B8431D;
  --gold:#D4A017; --gold-light:#E8B82C; --forest:#2B4233; --white:#FFFFFF;
}
*{box-sizing:border-box;}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);margin:0;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:0.01em;margin:0;color:var(--ink);}
a{color:inherit;text-decoration:none;}
button{font-family:'Inter',sans-serif;cursor:pointer;}

.eyebrow{font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--terracotta);}
.tag{font-size:0.65rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:0.25rem 0.6rem;border-radius:2px;display:inline-block;background:var(--paper-deep);color:var(--ink-soft);}

.btn-primary{background:var(--terracotta);color:#fff;border:none;padding:0.85rem 1.7rem;font-weight:700;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;display:inline-flex;align-items:center;gap:0.5rem;}
.btn-primary:hover{background:var(--terracotta-deep);}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink);padding:0.8rem 1.6rem;font-weight:700;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;}
.btn-outline:hover{background:var(--ink);color:#fff;}
.btn-danger{background:var(--terracotta-deep);color:#fff;border:none;padding:0.85rem 1.7rem;font-weight:700;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;}

.input,select,textarea{width:100%;padding:0.7rem 0.9rem;border:1.5px solid var(--line);border-radius:4px;font-family:'Inter',sans-serif;font-size:0.9rem;background:#fff;color:var(--ink);outline:none;}
.input:focus,select:focus,textarea:focus{border-color:var(--terracotta);}
.label{display:block;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:0.4rem;}

/* ---- login screen ---- */
.login-grid{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;}
@media(max-width:900px){ .login-grid{grid-template-columns:1fr;} .login-image{display:none;} }
.login-form{display:flex;flex-direction:column;justify-content:center;padding:4rem 8%;background:var(--paper);}
.login-form h1{font-size:2.6rem;margin-bottom:0.7rem;}
.login-image{position:relative;background:var(--ink);overflow:hidden;}
.login-image img{width:100%;height:100%;object-fit:cover;opacity:0.7;}
.login-image .overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(21,18,15,0.4),rgba(21,18,15,0.85));}
.login-image .text{position:absolute;left:8%;bottom:10%;right:8%;color:#fff;}
.error-box{color:#72243E;background:#FBEAF0;padding:0.8rem 1rem;border-radius:4px;font-size:0.85rem;margin-bottom:1rem;}

/* ---- admin shell ---- */
.admin-shell{min-height:100vh;display:flex;}
.sidebar{width:252px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:1.8rem 1.2rem;display:flex;flex-direction:column;}
@media(max-width:860px){ .sidebar{display:none;} }
.sidebar .brand{margin-bottom:2.2rem;}
.sidebar .brand .name{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:0.02em;font-size:1.15rem;margin-top:0.2rem;}
.sidebar .brand .sub{font-size:0.66rem;color:var(--ink-soft);letter-spacing:0.08em;text-transform:uppercase;}
.sidebar nav{display:flex;flex-direction:column;gap:0.25rem;margin-bottom:1.5rem;}
.sidebar nav a{display:flex;align-items:center;gap:0.7rem;padding:0.7rem 0.8rem;border-radius:6px;font-weight:500;font-size:0.86rem;}
.sidebar nav a.active{background:var(--paper);font-weight:700;}
.sidebar .new-story-btn{justify-content:center;margin-bottom:1.5rem;}
.sidebar .bottom-links{margin-top:auto;display:flex;flex-direction:column;gap:0.2rem;}
.sidebar .bottom-links a,.sidebar .bottom-links button{display:flex;align-items:center;gap:0.6rem;padding:0.6rem 0.8rem;background:none;border:none;color:var(--ink-soft);font-size:0.82rem;text-align:left;width:100%;}
.profile-chip{display:flex;align-items:center;gap:0.6rem;padding:0.8rem;margin-top:0.6rem;border-top:1px solid var(--line);}
.profile-chip .av{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;flex-shrink:0;}
.profile-chip .email{font-size:0.76rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;}
.profile-chip .role{font-size:0.68rem;color:var(--ink-soft);}

.admin-main{flex:1;overflow:auto;padding:2.2rem 2.6rem;}

/* ---- stat cards ---- */
.stats-row{display:flex;gap:1.2rem;margin-bottom:2.2rem;flex-wrap:wrap;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.4rem;flex:1;min-width:160px;}
.stat-card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.stat-card .top span{font-size:0.7rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-soft);}
.stat-card .value{font-family:'Bebas Neue',sans-serif;font-size:2.6rem;font-weight:400;}

.dash-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:1.4rem;}
@media(max-width:1100px){ .dash-grid{grid-template-columns:1fr;} }
.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.5rem;}
.panel h3{font-size:1.2rem;margin-bottom:1.2rem;}

table.admin-table{width:100%;border-collapse:collapse;font-size:0.85rem;}
table.admin-table th{text-align:left;padding:0.8rem 1rem;font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;border-bottom:1px solid var(--line);}
table.admin-table td{padding:0.8rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle;}
table.admin-table tr:last-child td{border-bottom:none;}
table.admin-table .thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;}
.icon-btn-row{display:flex;gap:0.3rem;justify-content:flex-end;}
.icon-btn{background:none;border:none;padding:0.4rem;color:var(--ink-soft);}
.icon-btn.danger{color:var(--terracotta-deep);}

.filters-row{display:flex;gap:0.8rem;margin-bottom:1.4rem;flex-wrap:wrap;}

/* ---- bar chart ---- */
.bar-chart{display:flex;align-items:flex-end;gap:10px;height:160px;padding:0 0.5rem;}
.bar-chart .bar{flex:1;background:var(--ink);opacity:0.85;border-radius:3px 3px 0 0;}
.bar-chart .bar.current{background:var(--terracotta);opacity:1;}
.bar-labels{display:flex;justify-content:space-between;margin-top:0.6rem;font-size:0.68rem;color:var(--ink-soft);}

/* ---- editor ---- */
.editor-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:1.6rem;max-width:920px;}
@media(max-width:900px){ .editor-grid{grid-template-columns:1fr;} }
.editor-col{display:flex;flex-direction:column;gap:1.1rem;}
.editor-box{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.2rem;}
.cover-preview{margin-top:0.8rem;border-radius:6px;overflow:hidden;aspect-ratio:16/9;background:var(--paper-deep);display:flex;align-items:center;justify-content:center;}
.cover-preview img{width:100%;height:100%;object-fit:cover;}
.success-msg{text-align:center;color:var(--forest);font-size:0.82rem;font-weight:700;}
.checkbox-row{display:flex;align-items:center;gap:0.6rem;font-size:0.85rem;font-weight:600;}

.empty-admin{padding:3rem;text-align:center;color:var(--ink-soft);}

/* modal */
.modal-overlay{position:fixed;inset:0;background:rgba(21,18,15,0.5);z-index:600;display:none;align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.open{display:flex;}
.modal-box{background:#fff;border-radius:8px;padding:1.8rem;max-width:380px;width:100%;}
.modal-box h3{font-size:1.3rem;margin-bottom:0.6rem;}
.modal-box p{font-size:0.85rem;color:var(--ink-soft);margin-bottom:1.4rem;}
.modal-actions{display:flex;gap:0.7rem;justify-content:flex-end;}
