:root{--bg: #f6f7f9;--panel: #ffffff;--panel-muted: #eef3f6;--text: #182026;--muted: #66727d;--line: #dce3e8;--accent: #1f7a8c;--accent-strong: #145564;--ok: #24745d;--warn: #a76510;--danger: #b03a3a;--blue: #2f5d9f;--shadow: 0 14px 40px rgba(26, 38, 52, .1)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Segoe UI,Microsoft YaHei,Arial,sans-serif;letter-spacing:0}button,select,input,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{background:#182026;color:#f9fbfc;padding:24px;display:flex;flex-direction:column;gap:22px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;border-radius:8px;display:block;object-fit:cover;background:#0d456e}.brand h1,.brand p,.topbar h2,.topbar p,.dialog h3,.dialog p{margin:0}.brand h1{font-size:18px}.brand p{margin-top:3px;color:#aebbc4;font-size:12px}.field{display:grid;gap:8px}.field span{color:#aebbc4;font-size:13px}select,input,textarea{width:100%;min-height:40px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fff;color:var(--text)}.sidebar select{background:#27313a;border-color:#3a4650;color:#fff}.nav{display:grid;gap:8px}.nav-button{min-height:42px;border:1px solid transparent;border-radius:6px;background:transparent;color:#d7e0e6;text-align:left;padding:10px 12px}.nav-button.active,.nav-button:hover{background:#27313a;border-color:#3a4650;color:#fff}.sidebar-note{margin-top:auto;display:grid;gap:8px;padding:14px;border:1px solid #3a4650;border-radius:8px;background:#212b33;color:#c9d4db;font-size:13px;line-height:1.5}.main{min-width:0;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar h2{font-size:28px}.eyebrow{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:0;margin-bottom:4px}.topbar-actions,.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.view{display:none}.view.active{display:grid;gap:18px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.panel,.card,.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.panel{padding:18px}.panel-header,.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.panel h3,.card h3{margin:0;font-size:18px}.panel p,.card p{color:var(--muted);line-height:1.5}.metric{padding:18px}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:8px;font-size:30px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:820px}th,td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top;font-size:14px}th{color:var(--muted);font-weight:600;background:#f9fbfc}.badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;white-space:nowrap}.badge.ipmt{background:var(--blue)}.badge.region{background:var(--accent)}.badge.ok{background:var(--ok)}.badge.warn{background:var(--warn)}.badge.danger{background:var(--danger)}.badge.neutral{background:#6d7881}.primary-button,.secondary-button,.ghost-button,.danger-button,.icon-button{min-height:38px;border-radius:6px;border:1px solid transparent;padding:8px 12px}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-strong)}.secondary-button{background:#fff;border-color:var(--line);color:var(--text)}.ghost-button{background:transparent;border-color:var(--line);color:var(--text)}.danger-button{background:#fff;color:var(--danger);border-color:#e6b8b8}.icon-button{width:38px;padding:0;display:grid;place-items:center;background:#fff;border-color:var(--line)}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.wide{grid-column:span 2}.full{grid-column:1 / -1}.report-textarea{min-height:160px;font-family:Consolas,Courier New,monospace}.timeline{display:grid;gap:10px}.timeline-item{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfd}.timeline-item h4{margin:0 0 6px}.timeline-item p{margin:4px 0}.report-preview{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff;min-height:280px;max-height:68vh;overflow:auto}.dialog{border:0;background:transparent;width:min(960px,calc(100vw - 32px))}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#141e2880}.modal-backdrop .dialog-card{width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.dialog::backdrop{background:#141e2880}.dialog-card{background:#fff;border-radius:8px;border:1px solid var(--line);padding:18px;box-shadow:var(--shadow)}.dialog-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.empty-state{padding:36px;text-align:center}.empty-state p{color:var(--muted)}.split-list{display:grid;gap:12px}.pick-row{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfd}.pick-row input{width:auto;min-height:auto}.small{color:var(--muted);font-size:13px}.notice{border-left:4px solid var(--warn);background:#fff7eb;padding:12px 14px;border-radius:6px;color:#5d3d12}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static}.grid.cols-2,.grid.cols-3,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.topbar{align-items:stretch;flex-direction:column}}
