﻿:root { --brand:#315b49; --gold:#b98a45; --ink:#16221d; --muted:#6d7973; --line:rgba(49,91,73,.14); }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; color:var(--ink); font:14px/1.65 "Microsoft YaHei UI", sans-serif; background:linear-gradient(135deg,#fbf6ed,#edf2ec); }
.admin-shell { width:min(1160px,calc(100% - 40px)); margin:24px auto 80px; display:grid; gap:18px; }
.topbar, .card { background:rgba(255,255,255,.76); border:1px solid rgba(255,255,255,.82); box-shadow:0 22px 70px rgba(29,47,39,.12); backdrop-filter:blur(22px); }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; border-radius:24px; padding:18px 22px; }
p { margin:0; color:var(--muted); }
.topbar p, .eyebrow { color:var(--gold); font-size:11px; text-transform:uppercase; letter-spacing:.14em; font-weight:800; }
h1,h2 { margin:0; letter-spacing:-.04em; }
h1 { font-size:28px; } h2 { font-size:22px; margin-bottom:14px; }
a, button { border:0; border-radius:999px; cursor:pointer; text-decoration:none; }
a { color:#fff; background:var(--brand); padding:10px 16px; }
.card { border-radius:28px; padding:24px; display:grid; gap:13px; }
.login-card { grid-template-columns:1fr minmax(320px,.7fr); align-items:end; }
.login-form, .actions, .form-row { display:flex; gap:10px; align-items:center; }
.grid { display:grid; grid-template-columns:1fr .8fr; gap:18px; }
label { display:grid; gap:7px; color:var(--muted); font-size:13px; }
input,textarea,select { width:100%; border:1px solid var(--line); border-radius:15px; padding:11px 13px; background:rgba(255,255,255,.7); outline-color:var(--brand); color:var(--ink); }
textarea { resize:vertical; font-family:Consolas,"Courier New",monospace; font-size:13px; }
button { padding:11px 17px; color:var(--ink); background:rgba(255,255,255,.72); border:1px solid var(--line); }
.primary { color:#fff; background:var(--brand); }
.preview-box { display:flex; gap:14px; align-items:center; padding:18px; border-radius:20px; border:1px solid var(--line); background:rgba(255,255,255,.55); }
.logo-preview { width:58px; height:58px; display:grid; place-items:center; overflow:hidden; border-radius:20px; color:#fff; font-size:24px; font-weight:800; background:linear-gradient(135deg,var(--brand),var(--gold)); }
.logo-preview img { width:100%; height:100%; object-fit:cover; }
.preview-box b { display:block; font-size:18px; }
.hint { font-size:13px; }
.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(8px); padding:10px 14px; border-radius:999px; color:#fff; background:rgba(22,34,29,.92); opacity:0; pointer-events:none; transition:.2s; }
.toast.show { opacity:1; transform:translateX(-50%); }
@media (max-width:800px) { .login-card,.grid { grid-template-columns:1fr; } .login-form,.form-row { flex-direction:column; align-items:stretch; } .topbar { align-items:flex-start; flex-direction:column; } }
