:root{font-family:Inter,Segoe UI,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#18212f;background:#eef2f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--line: #d9e0e8;--muted: #657386;--blue: #1d64d8;--green: #0f8a58;--red: #c83b47;--panel: #ffffff}*{box-sizing:border-box}body{margin:0;min-width:1180px}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:#111827;color:#f6f8fb;padding:18px 14px}.brand{display:flex;align-items:center;gap:12px;padding:6px 8px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.brandMark{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:#fff;color:#111827;font-weight:800}.brand strong,.brand span{display:block}.brand span{margin-top:3px;color:#9ca3af;font-size:12px}.nav{display:grid;gap:6px;padding-top:18px}.navButton{display:flex;align-items:center;gap:10px;width:100%;height:40px;border:0;border-radius:8px;padding:0 12px;color:#cbd5e1;background:transparent;text-align:left}.navButton.active,.navButton:hover{color:#fff;background:#243044}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;border-bottom:1px solid var(--line);background:#fff}.filters{display:flex;gap:10px}select,input,textarea{min-height:36px;border:1px solid var(--line);border-radius:6px;padding:0 10px;color:#18212f;background:#fff}textarea{padding:10px;resize:vertical}.iconTextButton{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border:1px solid var(--line);border-radius:6px;padding:0 12px;color:#1f2937;background:#fff}.iconTextButton.primary{color:#fff;border-color:var(--blue);background:var(--blue)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workspace{padding:22px 24px 32px}.sectionHeader{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:16px}.sectionHeader h1{margin:0;font-size:22px;font-weight:750;letter-spacing:0}.sectionHeader span{color:var(--muted)}.metricGrid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:14px}.metricCard,.panel,.templateCard{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.metricCard{padding:14px}.metricCard span{display:block;color:var(--muted);font-size:13px}.metricCard strong{display:block;margin-top:8px;font-size:22px;letter-spacing:0}.metricCard.success strong{color:var(--green)}.metricCard.danger strong{color:var(--red)}.twoColumn{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.7fr);gap:14px}.panel{min-height:320px;padding:16px}.panelTitle{display:flex;align-items:center;gap:8px;margin-bottom:14px}.panelTitle h2,.fieldPane h2{margin:0;font-size:15px;font-weight:700}.trendList{display:grid;gap:12px}.trendRow{display:grid;grid-template-columns:112px minmax(160px,1fr) 120px;align-items:center;gap:12px;font-size:13px}.barTrack{height:10px;overflow:hidden;border-radius:5px;background:#e6ebf2}.barTrack i{display:block;height:100%;border-radius:inherit;background:#1d64d8}.dataTable{width:100%;border-collapse:collapse;font-size:13px}.dataTable th,.dataTable td{height:38px;border-bottom:1px solid var(--line);padding:0 10px;text-align:left;white-space:nowrap}.dataTable th{color:#475569;background:#f7f9fc;font-weight:700}.templateGrid,.masterGrid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px}.templateCard{display:flex;min-height:86px;align-items:flex-start;gap:12px;padding:16px}.templateCard svg{flex:0 0 auto;color:var(--blue)}.templateCard strong,.templateCard span{display:block}.templateCard span{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}.designer{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px}.fieldPane,.reportPane,.formulaEditor{border:1px solid var(--line);border-radius:8px;background:#fff}.fieldPane{align-content:start;display:flex;flex-wrap:wrap;gap:8px;padding:14px}.fieldPane h2{flex:0 0 100%;margin-top:8px}.fieldPane h2:first-child{margin-top:0}.chip{min-height:30px;border:1px solid var(--line);border-radius:6px;padding:0 10px;background:#fff}.chip.selected{color:#fff;border-color:var(--blue);background:var(--blue)}.reportPane{min-width:0;overflow:hidden}.formulaLine{display:grid;grid-template-columns:120px 140px minmax(260px,1fr);gap:10px;padding:14px;border-bottom:1px solid var(--line)}.tableWrap{overflow:auto;max-height:calc(100vh - 250px)}.formulaEditor{display:grid;grid-template-columns:220px 220px minmax(360px,1fr);gap:14px;padding:16px}.formulaEditor label{display:grid;gap:6px;color:var(--muted);font-size:13px}.formulaEditor .wide{grid-column:1 / -1}.validationBox{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:6px;padding:0 12px;color:var(--muted);background:#f7f9fc}.validationBox.ok{color:var(--green);border-color:#a7d9c4;background:#edf9f3}.validationBox.error{color:var(--red);border-color:#efb1b8;background:#fff2f3}@media(max-width:1280px){.metricGrid{grid-template-columns:repeat(3,minmax(180px,1fr))}.templateGrid,.masterGrid{grid-template-columns:repeat(3,minmax(220px,1fr))}}
