:root{
  --cream: #FBF3E7; --cream-deep: #F3E6D3; --card: #FFF9F0; --ink: #3A2E28;
  --ink-soft: #6b5b4f; --peach: #E8A87C; --clay: #C97B63; --sage: #8A9A5B;
  --sage-deep: #6d7d43; --line: rgba(58,46,40,0.14); --radius: 14px;
  --shadow: 0 8px 30px rgba(58,46,40,0.08);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--cream-deep);color:var(--ink);font-family:'Work Sans',Arial,sans-serif;line-height:1.5;}
a{color:inherit;}
.admin-shell{display:flex;min-height:100vh;}
.admin-sidebar{width:230px;flex-shrink:0;background:var(--ink);color:var(--cream);padding:24px 16px;display:flex;flex-direction:column;}
.admin-sidebar .brand{font-family:Georgia,serif;font-style:italic;font-size:1.25rem;margin-bottom:26px;text-decoration:none;color:var(--cream);}
.admin-nav a{display:block;padding:10px 14px;border-radius:9px;text-decoration:none;color:var(--cream);opacity:0.8;font-size:0.94rem;margin-bottom:2px;}
.admin-nav a:hover{opacity:1;background:rgba(251,243,231,0.08);}
.admin-nav a.active{opacity:1;background:rgba(251,243,231,0.14);}
.admin-sidebar .spacer{flex:1;}
.admin-sidebar .view-site, .admin-sidebar .logout{font-size:0.85rem;opacity:0.7;text-decoration:none;color:var(--cream);display:block;padding:8px 14px;}
.admin-main{flex:1;padding:34px 40px;max-width:980px;}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:10px;}
h1.page-title{font-family:Georgia,serif;font-size:1.7rem;margin:0;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:22px;box-shadow:var(--shadow);}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
label{display:block;font-weight:600;font-size:0.85rem;margin:14px 0 6px;}
input[type=text], input[type=email], input[type=password], input[type=date], input[type=url], textarea, select{
  width:100%;padding:10px 12px;border-radius:9px;border:1px solid var(--line);font-size:0.94rem;font-family:inherit;background:#fff;
}
textarea{min-height:110px;resize:vertical;}
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);text-decoration:none;font-size:0.9rem;cursor:pointer;font-family:inherit;}
.btn.ghost{background:transparent;color:var(--ink);}
.btn.danger{background:#b8503b;border-color:#b8503b;color:#fff;}
.btn.small{padding:6px 14px;font-size:0.82rem;}
table{width:100%;border-collapse:collapse;}
th, td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:0.92rem;}
th{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-soft);}
.tag{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--cream-deep);font-size:0.75rem;}
.tag.published{background:#e7efd9;color:var(--sage-deep);}
.tag.draft{background:#f6e7d6;color:var(--clay);}
.flash{padding:13px 18px;border-radius:10px;margin-bottom:20px;font-size:0.92rem;}
.flash.success{background:#e7efd9;color:var(--sage-deep);}
.flash.error{background:#f6dfd6;color:#b8503b;}
.hint{font-size:0.8rem;color:var(--ink-soft);margin-top:4px;}
.thumb{width:54px;height:54px;border-radius:8px;object-fit:cover;background:var(--cream-deep);}
.auth-page{max-width:400px;margin:80px auto;padding:0 20px;}
.auth-page .card{padding:30px;}
.auth-page h1{font-family:Georgia,serif;font-size:1.6rem;margin-bottom:6px;}
.row-actions{display:flex;gap:8px;align-items:center;}
.helper-row{display:flex;align-items:center;gap:14px;margin-top:10px;}
.photo-preview{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid var(--card);box-shadow:var(--shadow);}
.tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line);}
.tabs a{padding:10px 16px;text-decoration:none;font-size:0.9rem;border-bottom:2px solid transparent;color:var(--ink-soft);}
.tabs a.active{color:var(--ink);border-color:var(--clay);font-weight:600;}
@media (max-width:800px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;padding:14px;}
  .admin-nav{display:flex;flex-wrap:wrap;}
  .admin-main{padding:20px;}
  .grid-2{grid-template-columns:1fr;}
}
