:root{--blue:#0c69d8;--ink:#132236;--bg:#f5f7fb;--line:#dfe7f0;--muted:#68758a}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Noto Sans JP','Yu Gothic',sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.admin-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;z-index:5}.admin-header>a{font-weight:900}.admin-header nav{display:flex;gap:16px;font-weight:700;font-size:14px}.admin-main{max-width:1180px;margin:0 auto;padding:34px 20px}h1{margin:0 0 24px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel,.form-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 8px 24px rgba(10,31,68,.06)}.card span{display:block;color:var(--muted);font-size:13px}.card b{font-size:42px}.panel{margin-top:22px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.btn,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--blue);color:#fff;padding:10px 16px;font-weight:800;cursor:pointer}.btn.gray{background:#7b8794}.btn.red{background:#d63638}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.table th{background:#eef4fb;font-size:13px}.thumb{width:120px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#eef4fb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:800;font-size:13px;margin-bottom:5px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;font:inherit}.actions{display:flex;gap:8px;flex-wrap:wrap}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#031225,#0c69d8)}.login-box{width:min(420px,92vw);background:#fff;border-radius:24px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.22);display:grid;gap:14px}.login-box h1{font-size:22px}.error{background:#ffecec;color:#a30000;padding:10px;border-radius:10px}.hint{font-size:12px;color:var(--muted);line-height:1.6}@media(max-width:760px){.admin-header{display:block}.admin-header nav{overflow-x:auto;margin-top:12px}.cards,.form-grid{grid-template-columns:1fr}.table{font-size:13px}.admin-main{padding:24px 12px}}
