/* 稲垣社長の管理画面モック(03_モック_管理画面.html)の配色・形に合わせる。端末が暗い設定なら暗く */
:root{--bg:#f5f6f8;--card:#fff;--fg:#1f2733;--muted:#5f6b7a;--line:#d5dae1;--line-soft:#e6e9ee;--main:#2b4c7e;--main-soft:#e8eef7;--accent:#c98a12;--accent-soft:#fbf1dc;--ok:#1f8a4c;--ok-soft:#e3f3ea;--ng:#b3412e;--ng-soft:#f8e6e2;--side:#1f3557;--side-fg:#dbe4f1;--on-main:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#14181e;--card:#1c222b;--fg:#e4e8ee;--muted:#9aa5b3;--line:#323b47;--line-soft:#29313b;--main:#8fb3e8;--main-soft:#22324a;--accent:#e2a83a;--accent-soft:#3a2f1a;--ok:#5cc58a;--ok-soft:#1d3527;--ng:#e88874;--ng-soft:#3d2520;--side:#10161f;--side-fg:#c9d3e0;--on-main:#10161f}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:"BIZ UDPGothic","Yu Gothic UI","Meiryo",sans-serif;font-size:16px;line-height:1.6}
a{color:var(--main)}
.app{display:grid;grid-template-columns:210px 1fr;min-height:100vh}
.side{background:var(--side);color:var(--side-fg);padding:16px 12px;display:flex;flex-direction:column;min-width:0}
.logo{font-weight:700;font-size:16px;padding:0 8px 14px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:10px}
.logo small{display:block;font-weight:400;font-size:12px;opacity:.75}
.nav a{display:block;color:inherit;text-decoration:none;padding:9px 10px;border-radius:8px;white-space:nowrap}
.nav a:hover{background:rgba(255,255,255,.07)}
.nav a.on{background:rgba(255,255,255,.14);font-weight:700}
.out{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding:8px;font-size:13px}
main{padding:20px 24px 40px;min-width:0}
.top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.top h1{font-size:20px;margin:0}
.sp{flex:1}
select,input{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:5px 9px}
.btn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;padding:6px 14px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.btn.pri{background:var(--main);border-color:var(--main);color:var(--on-main)}
.btn.danger{color:var(--ng);border-color:var(--ng)}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:16px;min-width:0}
.card h2{font-size:15px;margin:0 0 12px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpis .card{margin-top:0}
.kpi .l{font-size:12px;color:var(--muted)}
.kpi .v{font-size:28px;line-height:1.25;font-variant-numeric:tabular-nums}
.kpi .v.sm{font-size:16px;padding-top:8px}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:7px 10px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap}
th+th,td+td{border-left:1px solid var(--line-soft)}
th{background:var(--main-soft);font-size:13px}
tbody tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tr.alert td{background:var(--ng-soft)}
tr.sub-row td{font-size:12px;color:var(--muted);white-space:normal}
.tag{display:inline-block;border-radius:999px;font-size:12px;padding:1px 9px;white-space:nowrap}
.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.ng{background:var(--ng-soft);color:var(--ng)}.tag.wa{background:var(--accent-soft);color:var(--accent)}.tag.mu{background:var(--line-soft);color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}
.sub{font-size:13px;color:var(--muted)}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.issued{border-color:var(--accent);background:var(--accent-soft)}
.code{font-size:40px;letter-spacing:.15em;font-variant-numeric:tabular-nums;font-weight:700}
pre{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px;overflow-x:auto;font-size:13px}
body.login{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}
.loginbox{width:min(380px,100%);display:flex;flex-direction:column;gap:12px}
.loginbox h1{font-size:20px;margin:0}
.loginbox label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
@media (max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.side{padding:8px}.logo{display:none}.nav{display:flex;overflow-x:auto;gap:4px}.out{flex-direction:row;align-items:center;margin-top:6px}main{padding:14px 16px 32px}}
.msg-ng{background:var(--ng-soft);color:var(--ng);border-radius:8px;padding:8px 12px;font-size:14px;margin:0 0 12px;overflow-wrap:anywhere}
