:root{--accent:#b5121b;--accent-d:#7d0a10;--amber:#e0a44c;--ink:#241c18;--muted:#7a6a60;--bg:#f4ede3;--surface:#fffaf3;--border:#e3d6c4;
--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans JP',sans-serif;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55;}
a{color:var(--accent-d);text-decoration:none;}

/* login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;}
.login-card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:14px;padding:32px;width:360px;max-width:90vw;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 30px rgba(80,40,20,.14);}
.login-card h1{font-size:18px;}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;}
.login-card input{font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:8px;}
.back{font-size:13px;text-align:center;}

/* admin shell */
.adm-top{background:#24201d;color:#f4ede3;border-bottom:3px solid var(--amber);display:flex;justify-content:space-between;align-items:center;padding:14px 22px;position:sticky;top:0;}
.adm-top a{color:#e8ddcc;}
.adm-top-r{display:flex;gap:16px;font-size:14px;}
.adm-top-r .lo{color:var(--amber);}
.adm-main{max-width:960px;margin:24px auto;padding:0 20px;display:flex;flex-direction:column;gap:20px;}
.adm-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px;}
.adm-card h2{font-size:16px;margin-bottom:16px;color:var(--accent-d);}
.adm-form{display:flex;flex-direction:column;gap:14px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.adm-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;}
.adm-form input,.adm-form textarea{font:inherit;padding:9px 11px;border:1px solid var(--border);border-radius:8px;}
.chk{flex-direction:row!important;align-items:center;gap:8px;}
.adm-actions{display:flex;gap:10px;}
.btn{background:var(--accent);color:#fff;border:0;padding:10px 20px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;}
.btn:hover{background:var(--accent-d);}
.btn.ghost{background:#e5ddd0;color:var(--ink);}
.adm-table{width:100%;border-collapse:collapse;font-size:14px;}
.adm-table th,.adm-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);}
.adm-table th{font-size:12px;color:var(--muted);text-transform:uppercase;}
.row-act{display:flex;gap:12px;align-items:center;}
.row-act form{display:inline;}
.link-del{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:0;}
.badge{border:0;cursor:pointer;font:inherit;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;}
.badge.on{background:#e6f0dd;color:#3d6b1f;}
.badge.off{background:#f3ddd8;color:var(--accent-d);}
.notice{padding:11px 15px;border-radius:8px;font-size:14px;}
.notice.ok{background:#f3e7d5;color:var(--accent-d);border:1px solid var(--amber);}
.notice.err{background:#fcebe3;color:#9a3412;border:1px solid #f0cdbc;}
.muted{color:var(--muted);}
@media(max-width:640px){.grid2{grid-template-columns:1fr;}}
