:root{--bg:#f3f0e9;--panel:#fff;--ink:#181a1c;--muted:#6b7073;--line:#ddd5c8;--accent:#2aaeba;--danger:#b73535}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif}
.shell{width:min(calc(100% - 28px),1120px);margin:40px auto}
.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}
.top h1{margin:0}
.nav{display:flex;gap:9px;flex-wrap:wrap}
.nav a,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:10px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font:inherit;font-weight:800;cursor:pointer}
.nav a.active,.btn.primary{background:var(--accent);border-color:var(--accent);color:#071315}
.btn.danger{color:var(--danger)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}
.panel h2{margin-top:0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:800;font-size:13px}
input,textarea{width:100%;padding:12px 13px;border:1px solid #cfc7ba;border-radius:10px;background:white;font:inherit}
input[type=file]{padding:10px}
textarea{min-height:160px;resize:vertical}
.check{display:flex;align-items:center;gap:9px;margin-top:8px}
.check input{width:auto}
.actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.actions form{margin:0}
.item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:17px 0;border-top:1px solid var(--line);align-items:center}
.item:first-child{border-top:0}
.item h3{margin:0 0 5px}
.item-with-image{grid-template-columns:auto 1fr auto}
.item-thumb{width:84px;height:62px;object-fit:cover;border-radius:10px;background:#eee5d8}
.meta{color:var(--muted);font-size:14px}
.flash{padding:13px 15px;background:#e4f5f3;border:1px solid #b7dfdb;border-radius:12px;margin-bottom:17px}
.login{max-width:430px;margin:90px auto}
.login h1{margin-top:0}
.hint{font-size:13px;color:var(--muted);font-weight:500;line-height:1.45}
.image-preview{width:220px;max-height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--line);margin:3px 0 5px}
.image-preview.wide{width:min(100%,520px);max-height:270px}
.hero-admin-preview{width:min(100%,700px);aspect-ratio:16/9;object-fit:cover;border-radius:16px;border:1px solid var(--line);margin:16px 0 20px}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.dashboard-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:16px;padding:20px;transition:.15s;background:#fff}
.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(50,40,25,.07)}
.dashboard-card h2{margin:7px 0 5px;font-size:25px}

.wysiwyg{border:1px solid #cfc7ba;border-radius:12px;overflow:hidden;background:#fff}
.wysiwyg-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:8px;background:#f6f3ed;border-bottom:1px solid #d9d1c5}
.wysiwyg-toolbar button{border:1px solid #d4ccbf;background:#fff;border-radius:7px;padding:7px 9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.wysiwyg-toolbar button:hover{border-color:#9ebfc1;background:#f4fbfb}
.toolbar-sep{width:1px;height:24px;background:#d4ccbf;margin:0 3px}
.wysiwyg-editor{min-height:360px;padding:22px;outline:none;font:18px/1.65 Georgia,serif}
.wysiwyg-editor:focus{box-shadow:inset 0 0 0 2px rgba(42,174,186,.18)}
.wysiwyg-editor h2{font:700 30px/1.1 Inter,system-ui,sans-serif}
.wysiwyg-editor h3{font:800 23px/1.15 Inter,system-ui,sans-serif}
.wysiwyg-editor blockquote{border-left:4px solid #d7ad4b;margin:1em 0;padding-left:18px;color:#555}
.wysiwyg-editor a{color:#147d86;text-decoration:underline}

@media(max-width:800px){
  .dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .top{align-items:flex-start;flex-direction:column}
  .item,.item-with-image{grid-template-columns:1fr}
  .item-thumb{width:120px;height:80px}
  .shell{margin-top:20px}
}
