:root{--bg:#f6f4f0;--card:#fff;--ink:#1c1b19;--ink2:#66625b;--line:#e2ddd3;--gold:#c9a96a;--gold-d:#8a6d2f;--black:#111;--err:#b42318;--ok:#1d6b3e}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;-webkit-text-size-adjust:100%}
header.top{background:var(--black);color:var(--gold);text-align:center;padding:16px 12px;border-bottom:2px solid var(--gold)}
header.top h1{margin:0;font:500 17px/1.4 "Hiragino Mincho ProN","Noto Serif JP","Yu Mincho",serif;letter-spacing:.14em}
header.top small{display:block;color:#b9a77d;font-size:12px;letter-spacing:.1em;margin-top:2px}
main{max-width:640px;margin:0 auto;padding:16px 16px 80px}
main.wide{max-width:1100px}
h2{font:600 18px/1.4 "Hiragino Mincho ProN","Noto Serif JP",serif;margin:18px 0 10px}
h2 small{display:block;font:400 13px/1.5 sans-serif;color:var(--ink2);margin-top:2px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:10px 0}
.btnrow{display:flex;gap:8px;flex-wrap:wrap}
button,.btn{font:inherit;cursor:pointer}
button.p,a.p{display:block;width:100%;padding:14px;border:0;border-radius:8px;background:var(--black);color:var(--gold);font-weight:700;letter-spacing:.08em;text-align:center;text-decoration:none}
button.p:disabled{opacity:.5}
button.s{padding:7px 12px;border:1px solid var(--line);background:#fff;border-radius:7px;font-size:14px}
button.s.d{color:var(--err);border-color:#f0c7c2}
button.l{background:none;border:0;color:var(--gold-d);padding:4px 0;text-decoration:underline;font-size:14px}
.ev{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:10px 0}
.ev b{display:block;font-size:17px}
.ev span{color:var(--ink2);font-size:13px}
.tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:99px;border:1px solid var(--gold);color:var(--gold-d);margin-right:6px;vertical-align:1px}
.tag.k{background:var(--gold);color:#222}
.tag.w{border-color:#d3a8a3;color:var(--err)}
.slot{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 14px;margin:8px 0;background:#fff;border:1px solid var(--line);border-radius:8px;text-align:left}
.slot:disabled{opacity:.45}
.slot em{font-style:normal;font-size:13px;color:var(--ok)}
.slot em.f{color:var(--err)}
label{display:block;font-size:14px;margin:12px 0;font-weight:600}
label.chk{display:flex;gap:8px;align-items:flex-start;font-weight:400}
label.chk input{width:auto;margin-top:5px}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:11px 12px;font:inherit;border:1px solid #cfc8ba;border-radius:7px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
input:disabled,select:disabled{background:#eee;color:#999}
.g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.plate{display:grid;grid-template-columns:1.3fr .8fr .6fr 1fr;gap:6px}
.plate label{font-size:12px;margin:6px 0}
fieldset{border:1px solid var(--line);border-radius:8px;padding:4px 12px 12px;margin:14px 0;background:#fff}
fieldset:disabled{background:#f1efe9}
legend{font-size:14px;font-weight:600;padding:0 6px}
.note{font-size:13px;color:var(--ink2)}
.box{background:#fbf7ec;border:1px solid #eadfc2;border-radius:8px;padding:10px 12px;font-size:14px;margin:10px 0}
.err{color:var(--err);font-size:14px;margin:8px 0;min-height:1em;white-space:pre-wrap}
.code{font:700 26px/1.3 ui-monospace,Menlo,monospace;letter-spacing:.08em;text-align:center;padding:14px;background:#fff;border:2px dashed var(--gold);border-radius:10px;margin:12px 0;user-select:all}
.st{display:inline-block;padding:2px 10px;border-radius:99px;font-size:13px;font-weight:700}
.st.ok{background:#e5f4ea;color:var(--ok)}.st.wait{background:#fff1d6;color:#8a5a00}.st.ng{background:#fde8e6;color:var(--err)}.st.lot{background:#e8eefc;color:#2b4a9a}
.tools{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.tabs{display:flex;gap:6px;margin:0 0 12px;border-bottom:1px solid var(--line)}
.tabs button{background:none;border:0;padding:10px 14px;font-weight:600;color:var(--ink2);border-bottom:3px solid transparent}
.tabs button.on{color:var(--ink);border-color:var(--gold)}
.scroll{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}
th,td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#faf8f3;position:sticky;top:0}
td input{margin:0;padding:5px 7px;width:76px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin:8px 0}
.row label{margin:0}
.row input,.row select{width:auto;min-width:0}
.sum{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.sum div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px}
.sum b{font-size:16px}
details{margin:8px 0}
summary{cursor:pointer;font-weight:600;padding:6px 0}

.evr{display:flex;gap:12px;align-items:center}
.evimg{width:72px;height:72px;object-fit:contain;background:#efece5;border-radius:8px;border:1px solid var(--line);flex:none}
.gthumb{display:block;width:auto;max-width:150px;max-height:110px;object-fit:contain;background:#efece5;border-radius:8px;border:1px solid var(--line);margin:10px 0 4px;cursor:pointer}
.gal img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--line);margin:8px 0}
.imgs{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.imgs div{position:relative}
.imgs img{width:92px;height:92px;object-fit:cover;border:1px solid var(--line);border-radius:8px;display:block}
.imgs button{position:absolute;top:-7px;right:-7px;width:24px;height:24px;border-radius:50%;border:1px solid #d3a8a3;background:#fff;color:var(--err);line-height:1;padding:0}

[hidden]{display:none!important}
