
:root{--primary:#2563eb;--bg:#0b1020;--panel:#131a2a;--text:#eef2ff;--muted:#9aa4bf;--table:#0f1625;--green:#16a34a;--red:#dc2626}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,"Noto Sans TC",sans-serif;background:var(--bg);color:var(--text)}
header,footer{padding:10px 16px}
.app-header{position:sticky;top:0;z-index:10;background:linear-gradient(180deg,#0e1629,#0b1020);border-bottom:1px solid #1e293b}
.app-header h1{margin:0 0 8px;font-size:18px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{background:#0f172a;color:#cbd5e1;border:1px solid #24304a;padding:6px 10px;border-radius:6px;cursor:pointer}
.tabs button.active,.tabs button:hover{background:var(--primary);color:white;border-color:transparent}
main{padding:16px;max-width:1100px;margin:auto}
.panel{background:var(--panel);border:1px solid #23324b;border-radius:12px;padding:16px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.grid.two{grid-template-columns:1fr 1fr}
.grid label{display:flex;flex-direction:column;gap:6px}
input,select,button,textarea{padding:8px 10px;border:1px solid #2a3a5d;border-radius:8px;background:#0f1625;color:#e2e8f0}
textarea{resize:vertical}
input:focus,select:focus,button:focus,textarea:focus{outline:2px solid #3b82f6}
.actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
button.primary{background:var(--primary);border-color:#1d4ed8}
button.danger{background:#7f1d1d;border-color:#991b1b}
.muted{color:var(--muted)}
.table{width:100%;border-collapse:collapse;background:#0f1625;border-radius:8px;overflow:hidden}
.table th,.table td{border-bottom:1px solid #1f2b45;padding:8px}
.table th{background:#0b1324;color:#c7d2fe}
.table tfoot td{font-weight:bold}
.num{text-align:right}
.right{text-align:right}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}
.card{background:#0f1625;border:1px solid #24304a;border-radius:8px;padding:12px}
.card .label{color:#cbd5e1}
.card .value{font-size:20px;font-weight:bold}
.tab{display:none}
.tab.active{display:block}
.chips{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding-left:0}
.chips li{background:#0f1625;border:1px solid #263554;padding:6px 10px;border-radius:999px;display:flex;gap:6px;align-items:center}
.chips li button{padding:2px 6px}
.chip-editor{display:flex;gap:8px;margin-top:8px}
.filters summary{cursor:pointer}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.grid{grid-template-columns:1fr}}
