*{box-sizing:border-box}
body{font:16px/1.7 system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;background:#f5f7fb;color:#15243d;margin:0}
main{max-width:920px;margin:0 auto;padding:20px 14px 40px}
a{color:#1745a0}
h1{font-size:1.6rem;line-height:1.3;margin:.6em 0 .3em}
h2{font-size:1.2rem;margin:0 0 .6em}
h3{font-size:1rem;margin:1.2em 0 .4em}
.tag{display:inline-block;font-size:.8rem;background:#1745a0;color:#fff;border-radius:6px;padding:2px 8px;vertical-align:middle}
.lead{margin-top:0}
section,.notice,.hero{background:#fff;border:1px solid #d8e1eb;border-radius:14px;padding:18px;margin:14px 0}
.notice{background:#eef8f1;border-color:#b9dcc4}
.notice p{margin:0}
.muted,.hint{color:#52627a;font-size:.9rem}
.warn{color:#8a4b00;background:#fff6e5;border-radius:8px;padding:8px 10px}
.warnlist{padding-left:1.2em;color:#6b4a00;font-size:.92rem}
ul{padding-left:1.3em}
code{background:#eef2f8;border-radius:4px;padding:1px 5px;font-size:.9em;word-break:break-all}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
button,.filebtn,a.btn{display:inline-block;border:0;border-radius:9px;background:#1745a0;color:#fff;padding:11px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;min-height:44px}
button.secondary{background:#e6ecf7;color:#16326e}
button.link{background:none;color:#1745a0;text-decoration:underline;padding:11px 6px;font-weight:400}
button:disabled{opacity:.6;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f49f36;outline-offset:2px}
input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
input[type=file]:focus-visible+.filebtn{outline:3px solid #f49f36;outline-offset:2px}
label{display:block;margin:12px 0 4px;font-weight:600}
label.filebtn,label.check{margin:0}
label.check{font-weight:400;display:flex;gap:6px;align-items:center}
input[type=number],select{font:inherit;padding:8px 10px;border:1px solid #b7c3d4;border-radius:8px;width:100%;max-width:260px;background:#fff}
td input[type=number]{max-width:130px;padding:6px 8px}
#status.error{color:#b00020;font-weight:600}
#status.ok{color:#1f6b3a}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.metrics>div{background:#f0f4fa;border-radius:10px;padding:10px 12px}
.metrics span{display:block;font-size:.85rem;color:#52627a}
.metrics strong{display:block;font-size:1.15rem;word-break:break-all}
.metrics .em{background:#e3ecff}
.neg,tr.loss td:last-child{color:#b00020;font-weight:700}
tr.loss{background:#fff1f1}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.92rem}
td,th{border-bottom:1px solid #d6dfeb;padding:7px 8px;text-align:left;vertical-align:top}
th{background:#f3f6fb;white-space:nowrap}
table.orders td:nth-child(n+4){text-align:right;white-space:nowrap}
.paid{border-color:#c9d6f2;background:#f7f9ff}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.cards a.card{display:block;background:#fff;border:1px solid #d8e1eb;border-radius:14px;padding:18px;text-decoration:none;color:inherit}
.cards a.card strong{color:#1745a0;font-size:1.1rem}
footer{color:#52627a;font-size:.85rem;padding:16px 0}
@media (max-width:480px){h1{font-size:1.35rem}section{padding:14px}.metrics{grid-template-columns:1fr 1fr}}
