/* 谧野后台 · 移动优先 */
:root{
  --bg:#f8f7f2; --card:#fff; --line:#e7e5dd; --ink:#3d3b34; --ink2:#6f6c63;
  --green:#8fa96a; --green-d:#6f8a4c; --red:#c0392b; --gold:#b8973e; --radius:10px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  padding-bottom:84px}
a{color:inherit;text-decoration:none}

/* 顶栏 */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;background:rgba(248,247,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top__brand{display:flex;align-items:baseline;gap:6px}
.top__logo{font-size:17px;font-weight:600;letter-spacing:1px}
.top__sub{font-size:11px;color:var(--ink2);letter-spacing:.5px}
.top__nav{display:flex;gap:4px;align-items:center}
.top__nav a{padding:6px 12px;border-radius:999px;font-size:14px;border:1px solid transparent}
.top__nav a.on{background:#fff;border-color:var(--line)}
.top__out{color:var(--ink2)}

.wrap{max-width:820px;margin:0 auto;padding:14px}
.flash{margin:10px 14px 0;padding:10px 12px;background:#eef4e6;border:1px solid #d3e0c1;border-radius:var(--radius);
  color:#4c6134;font-size:14px}

/* 通用 */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:9px 14px;border-radius:8px;
  border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;cursor:pointer}
.btn--sm{padding:6px 10px;font-size:13px}
.btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--go{background:#eef4e6;border-color:#c8d8b0;color:#48602f}
.btn--warn{background:#fdf6e6;border-color:#e8d9a8;color:#7a6420}
.btn--danger{background:#fdf0ee;border-color:#f0c8c2;color:var(--red)}
.btn--block{width:100%}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}

/* 登录 */
.loginpage .wrap{max-width:380px;padding-top:12vh}
.login__title{margin:0;font-size:22px;letter-spacing:2px}
.login__sub{margin:2px 0 18px;color:var(--ink2);font-size:13px}
.login__err{margin:0 0 12px;padding:8px 10px;background:#fdf0ee;border:1px solid #f0c8c2;border-radius:8px;
  color:var(--red);font-size:13px}
.field{display:block;margin-bottom:12px}
.field__label{display:block;font-size:13px;color:var(--ink2);margin-bottom:4px}
.field__label b{color:var(--red)}
.field input[type=text],.field input[type=password],.field input[type=search],
.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;
  background:#fff;font-size:15px;color:var(--ink);font-family:inherit}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:420px){.grid3{grid-template-columns:1fr 1fr}}

/* 搜索条 */
.bar{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.bar__search{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:15px}
.bar__search:focus{outline:none;border-color:var(--green)}
.bar__tabs{display:flex;gap:8px}
.bar__tabs a{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;color:var(--ink2)}
.bar__tabs a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.count{margin:0 0 8px;color:var(--ink2);font-size:13px}

/* 作品列表 */
.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pitem{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:12px}
.pitem__pic{flex:0 0 72px;width:72px;height:72px;border-radius:8px;overflow:hidden;background:#f2f1ec;
  display:flex;align-items:center;justify-content:center;color:#bbb;font-size:11px}
.pitem__pic img{width:100%;height:100%;object-fit:cover;display:block}
.pitem__main{flex:1;min-width:0}
.pitem__row1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pitem__name{font-size:15px;font-weight:600}
.pitem__meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--ink2);font-size:12.5px;margin-top:4px}
.price{color:var(--ink);font-weight:600}
.tag{font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid}
.tag--on{color:#48602f;background:#eef4e6;border-color:#c8d8b0}
.tag--off{color:#7a766c;background:#f1f0eb;border-color:#e0ded6}
.pitem__acts{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.pitem__acts form{margin:0}
.pitem__acts .btn{width:100%}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 4px}
.pager__now{color:var(--ink2);font-size:13px}
.empty{padding:26px 14px;text-align:center;color:var(--ink2);background:#fff;border:1px dashed var(--line);border-radius:var(--radius)}

/* 表单 */
.form__title{margin:0 0 14px;font-size:17px}
.form__acts{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}
.drop{display:block;border:1.5px dashed #cfccc2;border-radius:var(--radius);padding:20px;text-align:center;
  color:var(--ink2);font-size:13.5px;background:#fcfbf8}
.drop input{display:none}
.thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.thumb{position:relative;width:96px}
.thumb img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.thumb__del{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--red);margin-top:4px}

/* 表格 */
.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.table th,.table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13.5px}
.table th{background:#faf9f5;color:var(--ink2);font-weight:500}

/* 新增按钮吸底 */
.fab{position:fixed;left:16px;right:16px;bottom:18px;max-width:420px;margin:0 auto;
  display:flex;align-items:center;justify-content:center;padding:14px;border-radius:12px;
  background:var(--ink);color:#fff;font-size:16px;box-shadow:0 6px 20px rgba(0,0,0,.16)}
