
:root{--bg:#f6f7fb;--card:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--accent:#111827;--good:#166534;--warn:#92400e;--bad:#991b1b;--soft:#f3f4f6}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Noto Sans TC",sans-serif;background:var(--bg);color:var(--text)}
.app{max-width:980px;margin:auto;padding:14px 14px 100px}.title{font-size:22px;font-weight:800}.sub{font-size:13px;color:var(--muted);margin-top:4px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:14px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
h2{font-size:16px;margin:0 0 10px}.label{font-size:12px;color:var(--muted)}.kpi{font-size:24px;font-weight:800;margin-top:4px}.small{font-size:12px;color:var(--muted);line-height:1.5}
.row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}
.btn{border:0;border-radius:11px;padding:11px 13px;background:var(--accent);color:#fff;font-size:14px}.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}
input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:16px;margin-top:5px}label{font-size:13px;color:var(--muted)}textarea{min-height:72px}
form{display:grid;gap:10px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hidden{display:none}.badge{font-size:12px;background:var(--soft);padding:5px 8px;border-radius:999px}
.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.empty{padding:18px;text-align:center;color:var(--muted)}
nav{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.navinner{max-width:980px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr)}.navbtn{border:0;background:transparent;padding:9px 2px 8px;font-size:10px;color:var(--muted)}.navbtn.active{font-weight:800;color:var(--text)}
@media(max-width:700px){.grid,.grid3,.grid4,.two,.three{grid-template-columns:1fr}.row{align-items:flex-start;flex-direction:column}}
