:root{
  --bg:#f6f0e5;--paper:#fffdf8;--paper2:#fff8ef;--ink:#211d19;--muted:#756a60;
  --line:#ddcfbd;--primary:#ef624f;--primary-dark:#d94e3d;--accent:#f4b266;--ok:#4d8a68;
  --danger:#b8423c;--shadow:0 2px 0 rgba(60,43,30,.05),0 16px 42px rgba(60,43,30,.08);
  --r:22px;--r2:16px;--pill:999px;
  font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink)}
a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.shell{width:min(100% - 24px,760px);margin:0 auto}.staff-shell{width:min(100% - 24px,980px);margin:0 auto}
.btn{border:0;border-radius:14px;padding:.85rem 1rem;font-weight:800;background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none}
.btn.primary{background:var(--primary)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--danger)}
.field{display:grid;gap:.45rem}.field>label,.field>.label{font-size:.82rem;font-weight:800}.input,.textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:14px;padding:.85rem .9rem;outline:0}.input:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(239,98,79,.12)}.textarea{resize:vertical;min-height:100px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.small{font-size:.78rem;color:var(--muted)}.error{color:var(--danger);font-weight:800;font-size:.82rem}.success{color:var(--ok);font-weight:800;font-size:.82rem}
