:root{--blue:#2354e6;--blue2:#4d72ef;--ink:#15213d;--muted:#7483a5;--line:#dfe7f5;--bg:#eef3ff;--panel:#fff;--green:#23aa76;--red:#e55252;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#edf3ff,#f7f8ff);color:var(--ink);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:28px 18px;background:linear-gradient(180deg,#154de3,#275deb 58%,#7048eb);color:#fff;z-index:10}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;margin:0 8px 42px}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ffffff22;font-size:20px;font-weight:900}.brand strong{font-size:18px}.nav-label{font-size:13px;opacity:.65;margin:0 12px 12px}.nav-item{display:block;width:100%;border:0;background:transparent;color:#fff;text-align:left;padding:17px 20px;border-radius:18px;font-size:17px;cursor:pointer;margin:6px 0}.nav-item:hover,.nav-item.active{background:#ffffff27;font-weight:800}.back-link{position:absolute;left:28px;bottom:30px;color:#dce7ff;text-decoration:none;font-size:14px}.main{margin-left:250px;padding:28px 34px 70px;min-width:840px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar p{font-size:11px;letter-spacing:2px;color:#8fa0c9;margin:0 0 4px}.topbar h1{font-size:28px;margin:0}.online{padding:10px 16px;border:1px solid #bdebdc;background:#eafaf4;color:#18815c;border-radius:99px;font-size:13px;font-weight:700}.online i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#25bf84;margin-right:7px}.view{display:none}.view.active{display:block}.hero{min-height:168px;padding:34px 42px;border-radius:28px;color:#fff;margin-bottom:22px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:280px;height:280px;border:50px solid #ffffff16;border-radius:50%;right:-50px;top:-110px}.hero.blue{background:linear-gradient(120deg,#2458e4,#6680f8)}.hero.violet{background:linear-gradient(120deg,#6f45da,#a65ce5)}.hero.cyan{background:linear-gradient(120deg,#117db8,#20b2bf)}.hero span{font-size:13px;opacity:.8;letter-spacing:2px}.hero h2{font-size:34px;margin:12px 0 6px}.hero p{margin:0;opacity:.85;font-size:16px}.panel{background:var(--panel);border:1px solid #e7ecf7;border-radius:24px;padding:24px;margin-bottom:20px;box-shadow:0 12px 35px #2d58aa0c}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-title h3{font-size:20px;margin:0 0 5px}.panel-title p{font-size:13px;color:var(--muted);margin:0}.form-grid{display:grid;gap:14px}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.compact{margin-top:16px}label span,.sub-title strong,.pivot-builder strong{display:block;font-size:13px;color:#6f7fa3;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #d8e1f2;border-radius:13px;background:#fbfcff;padding:12px 14px;font:inherit;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#6a87ed;box-shadow:0 0 0 3px #365ee914}input[type=file]{padding:9px}.wide-field{display:block;margin-top:16px}.sub-title{display:flex;gap:12px;align-items:baseline;margin-top:22px}.sub-title small,.pivot-builder small{color:#94a0bc}.volume-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px;margin-top:10px}.volume-item{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e3e9f4;border-radius:12px;background:#f9fbff}.volume-item span{font-size:13px}.volume-item input{padding:8px 10px}.actions{display:flex;justify-content:flex-end;margin-top:18px}.primary,.ghost{border:0;border-radius:13px;padding:12px 20px;font:inherit;font-weight:800;cursor:pointer}.primary{background:linear-gradient(120deg,#2355e4,#6d6eef);color:#fff}.primary:disabled{opacity:.45;cursor:not-allowed}.ghost{background:#edf2ff;color:#365dd4}.status{margin-top:14px;padding:12px 15px;border-radius:12px;background:#f1f4fa;color:#6c7895;font-size:13px}.status.success{background:#e9f8f1;color:#1f825e}.status.error{background:#fff0f0;color:#be3f3f}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.kpi{background:#fff;border:1px solid #e5eaf4;border-radius:20px;padding:20px}.kpi span{font-size:13px;color:#8491af}.kpi strong{display:block;font-size:28px;margin:10px 0 5px}.kpi small{color:#8794af}.table-wrap{width:100%;overflow:auto;border:1px solid #e5eaf4;border-radius:16px;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th{position:sticky;top:0;background:#315edf;color:#fff;font-size:13px;padding:13px 11px;white-space:nowrap}.data-table td{padding:11px;border-bottom:1px solid #e8edf6;text-align:center;font-size:13px}.data-table tbody tr:nth-child(even){background:#f8faff}.data-table tr.total-row{font-weight:800;background:#e2ebff}.data-table tr.zero-row{color:#d04a4a}.validation{display:grid;gap:10px}.validation-block{padding:14px 16px;border-radius:13px;background:#f7f9fd}.validation-block strong{font-size:14px}.validation-block p,.validation-block li{font-size:13px;color:#687693;line-height:1.7}.empty{padding:28px;color:#9aa6c0;text-align:center}.report-grid{display:grid;grid-template-columns:1fr;gap:20px}.report-card{background:#fff;border-radius:22px;padding:18px;border:1px solid #e3e9f5}.report-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.report-toolbar h3{margin:0}.report-card .data-table th{background:#4c6c91}.comparison .data-table th{background:#d6ae00;color:#253044}.pivot-builder{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;padding:18px;background:#f7f9fd;border-radius:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{display:flex;gap:6px;align-items:center;padding:8px 11px;border:1px solid #d9e2f3;border-radius:99px;background:#fff;color:#556684;font-size:13px;cursor:pointer}.chip input{width:auto}.toast{position:fixed;right:28px;bottom:28px;background:#182441;color:#fff;padding:12px 18px;border-radius:12px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:99}.toast.show{opacity:1;transform:none}@media(max-width:1100px){.sidebar{width:210px}.main{margin-left:210px;padding:24px}.form-grid.four,.form-grid.three{grid-template-columns:repeat(2,1fr)}.volume-grid{grid-template-columns:repeat(2,1fr)}}
