*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1b1d21;background:#f7f8fa}
a{color:#1259d6;text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:980px;margin:0 auto;padding:0 18px}
header{background:#fff;border-bottom:1px solid #e5e7eb}nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:12px 0}
.logo{font-weight:800;font-size:21px;color:#111;margin-right:auto}.logo span{color:#1259d6}nav .l{color:#444;font-size:15px}
.hero{padding:34px 0 12px}.hero h1{font-size:32px;line-height:1.2;margin:0 0 8px}.hero p{color:#555;margin:0;font-size:17px}
.picker{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;margin:18px 0;display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.picker label{font-size:13px;font-weight:600;color:#555;display:block;margin-bottom:4px}select,input,button{font:inherit;padding:10px 12px;border-radius:9px;border:1px solid #cfd4dc;background:#fff;width:100%}
button{background:#1259d6;color:#fff;border:0;font-weight:600;cursor:pointer;width:auto}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;margin:14px 0}
table{width:100%;border-collapse:collapse;background:#fff}td,th{text-align:left;padding:10px 12px;border-bottom:1px solid #eef0f3;vertical-align:top}th{font-size:13px;color:#555;background:#fafbfc}
.tablewrap{border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;overflow-x:auto}
.s{display:inline-block;font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap}
.works{background:#dcf5e3;color:#0f6b2e}.partial{background:#fff1cc;color:#8a5a00}.app{background:#dde9ff;color:#1747a6}.no{background:#fde2e2;color:#a11d1d}.unv{background:#eceef1;color:#5b6270}
.note{font-size:14px;color:#555}.src{font-size:12.5px}.small{font-size:13px;color:#666}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.grid .card{margin:0}
.counts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.news{background:#111827;color:#fff;border-radius:14px;padding:22px;margin:30px 0}
.news input{max-width:280px;display:inline-block;width:auto}.news button{margin-left:6px}footer{color:#777;font-size:13px;padding:20px 18px 40px}
.alert{background:#fff4f4;border:1px solid #f3c2c2;border-radius:12px;padding:12px 14px}
@media(max-width:640px){.hero h1{font-size:25px}.picker{grid-template-columns:1fr}.hide-sm{display:none}td,th{padding:9px 8px}nav{gap:12px}}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none!important}.logo .wm{font-weight:800;font-size:22px;letter-spacing:-.5px;color:#111}.logo .wm span{color:#1259d6}
.logo .lt{display:flex;flex-direction:column;line-height:1.1}.logo .tag{font-size:11.5px;font-weight:500;color:#6b7280}.soon{display:inline-block;vertical-align:middle;font-size:12px;font-weight:700;background:#1259d6;color:#fff;padding:3px 9px;border-radius:99px;margin-left:6px}
@media(max-width:560px){.logo .tag{display:none}}
