*{box-sizing:border-box}
body{margin:0;font:16px system-ui,sans-serif;color:#1b1b1b;background:#f4f6f9}
header{background:#1e5aa0;color:#fff;padding:8px 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
header .sp{flex:1}
header button,header select{background:#fff;color:#1e5aa0;border:0;border-radius:6px;padding:6px 10px}
nav{display:flex;gap:4px;padding:6px 8px;background:#e3e9f1;flex-wrap:wrap}
nav button{border:0;padding:8px 12px;border-radius:6px;background:#fff}
nav button.on{background:#1e5aa0;color:#fff}
main{padding:10px;max-width:1200px;margin:auto}
.badge{padding:2px 8px;border-radius:10px;font-size:13px;background:#ddd;color:#222}
.badge.ok{background:#cdeccd}.badge.warn{background:#ffe3a6}.badge.bad{background:#f6b8b8}
table{border-collapse:collapse;background:#fff;width:100%}
th,td{border:1px solid #d6dce5;padding:4px 6px;text-align:left;vertical-align:middle}
th{background:#eef2f7;position:sticky;top:0}
td input[type=number]{width:80px;padding:6px;font-size:16px}
input,select,button{font:inherit}
input[type=text],input[type=password],input[type=date],input[type=number],select{padding:7px;border:1px solid #b9c3d2;border-radius:6px;background:#fff}
button.primary{background:#1e5aa0;color:#fff;border:0;border-radius:6px;padding:8px 14px}
button.danger{background:#c0392b;color:#fff;border:0;border-radius:6px;padding:6px 10px}
button.link{background:none;border:0;color:#1e5aa0;text-decoration:underline;padding:2px}
.card{background:#fff;border:1px solid #d6dce5;border-radius:8px;padding:10px;margin:8px 0}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
.cell-pending{background:#fff6dc}.cell-bad{background:#fbdcdc}
.modal{position:fixed;inset:0;background:#0007;display:flex;align-items:center;justify-content:center;padding:10px;z-index:5}
.modal>div{background:#fff;border-radius:10px;padding:14px;max-width:560px;width:100%;max-height:90vh;overflow:auto}
.muted{color:#667}
.empcard{display:flex;justify-content:space-between;align-items:center;gap:8px}
.itemrow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #eee}
@media(max-width:700px){main{padding:6px}td input[type=number]{width:70px}}
