:root{
  --ink:#14120F; --gold:#C9962C; --gold-bright:#E0AE45;
  --paper:#FAF7F0; --paper-dim:#F0EAD9; --line:rgba(20,18,15,0.14);
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--paper-dim); color:var(--ink);
  font-family:'Inter', sans-serif; line-height:1.5;
}
h1,h2{font-family:'Fraunces', serif; font-weight:600; margin:0 0 0.3em;}
label{display:block; font-size:0.85rem; font-weight:600; margin:1em 0 0.35em;}
input[type=text], input[type=password], textarea{
  width:100%; padding:11px 12px; border:1px solid var(--line);
  border-radius:4px; font-family:inherit; font-size:0.95rem; background:var(--paper);
}
input:focus, textarea:focus{outline:2px solid var(--gold); outline-offset:1px;}
.btn{
  display:inline-block; margin-top:18px; padding:11px 22px; border-radius:4px;
  font-weight:600; font-size:0.9rem; border:1px solid transparent; cursor:pointer;
}
.btn-primary{background:var(--ink); color:var(--paper);}
.btn-primary:hover{background:var(--gold); color:var(--ink);}
.btn-ghost{background:transparent; border-color:var(--line); color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);}

/* Auth page */
.admin-auth-page{display:flex; align-items:center; justify-content:center; min-height:100vh;}
.auth-card{
  background:var(--paper); border:1px solid var(--line); border-radius:8px;
  padding:40px; width:100%; max-width:360px;
}
.auth-sub{color:#555; font-size:0.9rem; margin-bottom:1.2em;}
.auth-error{color:#B3261E; font-size:0.88rem; margin-bottom:1em;}
.auth-hint{font-size:0.78rem; color:#777; margin-top:1.2em;}
.auth-hint code{background:var(--paper-dim); padding:2px 5px; border-radius:3px;}

/* Dashboard */
.admin-wrap{max-width:760px; margin:0 auto; padding:0 24px;}
.admin-header{background:var(--ink); color:var(--paper); padding:0;}
.admin-header-row{display:flex; align-items:center; justify-content:space-between; height:64px; max-width:760px;}
.admin-brand{font-family:'Fraunces', serif; font-weight:600;}
.admin-header-actions a{color:var(--paper); opacity:0.85; margin-left:20px; font-size:0.88rem; text-decoration:none;}
.admin-header-actions a:hover{opacity:1; color:var(--gold-bright);}

.admin-card{
  background:var(--paper); border:1px solid var(--line); border-radius:8px;
  padding:28px 30px; margin:28px 0;
}
.admin-help{color:#555; font-size:0.88rem; margin-top:-0.3em;}

.image-row{display:flex; gap:18px; align-items:center; padding:16px 0; border-top:1px solid var(--line);}
.image-row:first-of-type{border-top:none;}
.image-row div{flex:1;}
.image-preview{width:70px; height:70px; object-fit:cover; border-radius:6px; background:var(--paper-dim); flex-shrink:0;}
.image-preview-round{border-radius:50%;}

.social-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
.admin-subhead{font-size:1rem; margin:1.6em 0 0.2em; border-top:1px solid var(--line); padding-top:1.2em;}
.service-row{border-top:1px solid var(--line); padding:18px 0;}
.service-row:first-of-type{border-top:none; padding-top:0;}
.service-row-top{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.service-row-top label{margin:0;}
select{padding:8px 10px; border:1px solid var(--line); border-radius:4px; background:var(--paper); font-family:inherit;}

.flash{padding:12px 16px; border-radius:6px; margin:20px 0 0; font-size:0.9rem;}
.flash-ok{background:#E7F3E8; color:#1E4620;}
.flash-error{background:#FBEAE9; color:#8C1D18;}
