*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;background:#f4f6fa;color:#1d2433}
.wrap{max-width:520px;margin:0 auto;padding:16px}.wide{max-width:1100px}
h1{font-size:1.3rem}h2{font-size:1.1rem}
.card{background:#fff;border-radius:12px;padding:16px;margin:12px 0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
input,select,button,textarea{font:inherit;padding:12px;border:1px solid #c8cfdb;border-radius:8px;width:100%;margin:6px 0}
button,.btn{background:#1f5fd6;color:#fff;border:0;cursor:pointer;display:inline-block;text-decoration:none;padding:12px 16px;border-radius:8px;text-align:center}
button.sec,.btn.sec{background:#5b6475}button.ok{background:#1a9b5a}button:disabled{opacity:.5}
.inline{display:inline;width:auto}.inline input,.inline select,.inline button{width:auto;padding:6px 8px;margin:2px}
video,canvas,img.prev{width:100%;border-radius:10px;background:#000}video{transform:scaleX(-1)}
.err{background:#fde8e8;color:#9b1c1c;padding:10px;border-radius:8px}.msg{background:#e6f6ec;color:#14532d;padding:10px;border-radius:8px}
table{border-collapse:collapse;width:100%;background:#fff;font-size:.9rem}th,td{border:1px solid #e1e5ec;padding:6px;text-align:left;vertical-align:top}
.tag{padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:600}.P{background:#d9f5e3}.L{background:#ffe4b8}.IL{background:#fff3c4}.A{background:#ffd5d5}.LV{background:#d6e6ff}.OFF{background:#eee}
nav a{margin-right:12px}.muted{color:#6b7280;font-size:.85rem}.thumb{width:70px;height:70px;object-fit:cover;border-radius:6px}
.scroll{overflow-x:auto}
.HD{background:#e5dcff}.WFH{background:#d4f3f5}.st-pending{background:#fff3c4}.st-approved{background:#d9f5e3}.st-rejected{background:#ffd5d5}
button.del{background:#c0392b;padding:4px 8px;font-size:.8rem;width:auto}
.help li{margin:10px 0}.hi{color:#374151}
