.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#fdfbf4 0,#f5f6f2 42%,#e7eee9 100%);padding:24px}.login-card{width:min(410px,100%);background:#fff;border:1px solid #dfe5e1;border-radius:16px;padding:38px;box-shadow:0 22px 70px #173a3120;text-align:center}.login-logo{width:52px;height:52px;margin:0 auto 14px;border-radius:12px;display:grid;place-items:center;background:#173a31;color:#fff;font:700 26px Georgia,serif}.login-kicker{color:#9b7a49;font-size:9px;letter-spacing:2.4px;font-weight:700}.login-card h1{font-size:24px;margin:8px 0}.login-desc{color:#73807d;font-size:12px;margin-bottom:28px}.login-card label{display:block;text-align:left;font-size:11px;font-weight:700;margin:14px 0;color:#43524e}.login-card input{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d7dfdb;border-radius:8px;font:inherit;outline:none}.login-card input:focus{border-color:#176f5b;box-shadow:0 0 0 3px #176f5b18}.login-card button{width:100%;margin-top:10px}.login-card>small{display:block;color:#98a19e;margin-top:18px}.login-error{background:#fff0ec;color:#b64f3e;border-radius:7px;padding:9px;font-size:11px;text-align:left}
:root{--ink:#172321;--muted:#73807d;--green:#176f5b;--line:#e5e9e7;--cream:#f5f6f2;--red:#d65345}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}.shell{display:flex;min-height:100vh}.sidebar{width:238px;background:#112c27;color:#dce8e4;padding:28px 18px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:4}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.brandmark{width:39px;height:39px;border:1px solid #79a99c;border-radius:10px;display:grid;place-items:center;font-family:serif;font-size:21px;color:#fff;background:#1e493f}.brand b{display:block;font-size:17px;letter-spacing:1px}.brand small{display:block;color:#86a59d;font-size:9px;letter-spacing:2.6px;margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button{border:0;background:transparent;color:#b7cac5;text-align:left;padding:12px 13px;border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:12px}.sidebar nav button span{font-size:18px;width:18px;text-align:center}.sidebar nav button.active{background:#e7efe8;color:#173a31;font-weight:700}.sidebar nav button em{margin-left:auto;background:#d35e4d;color:#fff;border-radius:10px;padding:1px 7px;font-size:11px;font-style:normal}.sidebottom{margin-top:auto}.secure{font-size:11px;color:#85a69d;padding:12px;border-bottom:1px solid #29463f}.person{display:flex;gap:9px;align-items:center;padding:18px 6px 0}.person>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#c6a976;color:#263b34;font-weight:700}.person b,.person small{display:block}.person b{font-size:11px}.person small{font-size:9px;color:#7c9a92;margin-top:3px}.person i{font-style:normal;margin-left:auto;color:#66877e}main{margin-left:238px;width:calc(100% - 238px);padding:33px 38px 50px;max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}header h1{font-size:26px;margin:2px 0 6px;letter-spacing:-.5px}header p{margin:0;color:var(--muted);font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:2px!important;color:#9b7a49!important;font-size:9px!important;font-weight:700}.actions{display:flex;gap:10px}button{font-family:inherit}.ghost,.primary,.template{border-radius:7px;padding:10px 16px;border:1px solid #d8dedb;background:#fff;color:#3c4d49;font-weight:600;cursor:pointer}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:disabled{opacity:.45;cursor:not-allowed}.notice{background:#eaf2ec;border:1px solid #d5e4da;border-radius:9px;padding:13px 17px;display:flex;align-items:center;gap:12px;margin-bottom:18px}.notice>span{width:28px;height:28px;border-radius:50%;background:#2d8069;color:#fff;display:grid;place-items:center}.notice b{font-size:13px}.notice p{margin:3px 0 0;color:#66766f;font-size:11px}.notice button{border:0;background:transparent;color:var(--green);margin-left:auto;font-weight:700;cursor:pointer}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:18px}.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:15px;position:relative;min-width:0}.metric-icon{position:absolute;right:13px;top:13px;width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:#e8f1ee;color:#377a68;font-size:12px}.metric-icon.m1{background:#edf3e6;color:#67843c}.metric-icon.m2{background:#eef0f7;color:#5e6d99}.metric-icon.m3{background:#f8eee8;color:#b26743}.metric-icon.m4{background:#f1ebf5;color:#775d8f}.metric-icon.m5{background:#f9efe8;color:#b6653e}.metric-grid p{font-size:11px;color:var(--muted);margin:0}.metric-grid p span{font-size:9px;margin-left:4px}.metric-grid h2{font:700 20px Georgia,serif;margin:15px 0 10px;white-space:nowrap}.metric-grid small{color:#298064;font-weight:700;font-size:10px}.metric-grid small.down{color:#c85f4f}.metric-grid small i{font-style:normal;color:#9aa4a1;font-weight:400}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panelhead{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;border-bottom:1px solid var(--line)}.panelhead h3,.guide h3,.recent h3{font-size:14px;margin:0}.panelhead p{font-size:10px;color:var(--muted);margin:5px 0 0}.legend{display:flex;gap:17px;color:#7c8986;font-size:10px}.legend span:first-child{color:#397f6a}.tablewrap{overflow-x:auto}.tablewrap table{min-width:1450px}table{border-collapse:collapse;width:100%;font-size:10px}th{background:#f6f8f6;color:#63716d;text-align:right;padding:10px 9px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:600}th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:inherit}td{text-align:right;padding:11px 9px;border-bottom:1px solid #eef0ef;font-family:Arial,sans-serif;white-space:nowrap}tbody tr:first-child{background:#f2f7f3;font-weight:700}.red{color:var(--red)}.tablefoot{padding:10px 17px;color:#89928f;font-size:9px}.tablefoot button{float:right;border:0;background:none;color:var(--green);font-weight:700;cursor:pointer}.lower{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:17px}.source-status{display:grid;grid-template-columns:1fr 1fr}.source-status>div{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid #edf0ee}.source-status>div:nth-child(odd){border-right:1px solid #edf0ee}.source-status span,.source-picker span{width:30px;height:30px;border-radius:8px;color:#fff;display:grid;place-items:center;font-weight:700}.source-status b,.source-status small{display:block}.source-status b{font-size:11px}.source-status small{font-size:9px;color:#919b98;margin-top:3px}.source-status strong{margin-left:auto;color:#33806b}.risks>div{display:flex;align-items:center;gap:11px;padding:14px 18px;border-bottom:1px solid #edf0ee}.risks span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#fae9df;color:#c96145;font-weight:800}.risks span.blue{background:#e9eff5;color:#4f78a1}.risks p{margin:0}.risks b,.risks small{display:block}.risks b{font-size:11px}.risks small{font-size:9px;color:#8a9491;margin-top:3px}.risks em{margin-left:auto;background:#faeee7;color:#b86248;font-style:normal;font-size:9px;padding:3px 7px;border-radius:8px}.risks em.info{background:#e9f0f5;color:#477395}.upload-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.upload-main{display:flex;flex-direction:column;gap:18px}.upload-panel{overflow:visible}.source-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:17px}.source-picker button{position:relative;border:1px solid var(--line);background:#fff;border-radius:9px;padding:14px;text-align:left;cursor:pointer;min-height:108px}.source-picker button.selected{border:2px solid var(--green);background:#f4f8f5}.source-picker b,.source-picker small{display:block}.source-picker b{font-size:12px;margin-top:11px}.source-picker small{font-size:9px;color:#89938f;margin-top:4px;line-height:1.5}.source-picker i{position:absolute;right:10px;top:10px;font-style:normal;color:#8d9895}.source-picker button.selected i{color:var(--green);font-weight:800}.template{padding:7px 11px;font-size:10px}.dropzone{margin:20px;border:1.5px dashed #b9c7c2;border-radius:10px;background:#f9fbf9;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.dropzone input{display:none}.dropzone b{font-size:13px;margin-top:10px}.dropzone p,.dropzone small{font-size:10px;color:#89948f}.upload-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#e6f0ec;color:var(--green);font-size:24px}.fileicon{width:42px;height:48px;border-radius:5px;display:grid;place-items:center;background:#2d7c61;color:#fff;font-weight:800}.preview{padding:0 20px 20px}.preview-summary{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:10px;padding:14px;background:#f5f8f6;border:1px solid var(--line);border-radius:8px}.preview-summary div{border-right:1px solid var(--line)}.preview-summary b,.preview-summary span{display:block}.preview-summary b{font-size:15px}.preview-summary span{font-size:9px;color:#81908b;margin-top:3px}.preview-summary .good b{color:var(--green)}.preview-summary .bad b{color:var(--red)}.errorbox{margin-top:12px;padding:12px;background:#fff3ef;border:1px solid #f2d2c7;border-radius:8px;color:#a94f3d;font-size:10px}.errorbox p{margin:5px 0}.mini-table{overflow-x:auto;margin-top:12px;border:1px solid var(--line);border-radius:8px}.upload-side{display:flex;flex-direction:column;gap:18px}.guide,.recent{padding:18px}.guide>p{display:flex;gap:9px;align-items:center;font-size:10px;color:#53635f;margin:15px 0}.guide>p span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e9f1ed;color:var(--green);font-weight:700}.guide>div{background:#f3f7f4;padding:12px;border-radius:7px;margin-top:18px}.guide>div b,.guide>div small{display:block;font-size:10px}.guide>div small{color:#7d8c87;margin-top:5px;line-height:1.6}.recent>div{display:flex;gap:9px;padding:12px 0;border-bottom:1px solid var(--line)}.recent>div span{color:#2f816a}.recent p{margin:0;min-width:0}.recent b,.recent small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent b{font-size:10px}.recent small{font-size:9px;color:#909a97;margin-top:4px}.toast{position:fixed;right:30px;bottom:30px;background:#183a32;color:#fff;border-radius:8px;padding:13px 20px;box-shadow:0 10px 30px #0003;font-size:12px;z-index:9}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(3,1fr)}.source-picker{grid-template-columns:repeat(2,1fr)}.upload-layout{grid-template-columns:1fr}.upload-side{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{width:68px;padding:20px 8px}.brand div,.sidebar nav button:not(.active){font-size:0}.brand{padding:0 5px 25px}.brandmark{flex:none}.sidebar nav button{justify-content:center}.sidebar nav button span{font-size:18px}.sidebar nav button.active{font-size:0}.sidebottom{display:none}main{margin-left:68px;width:calc(100% - 68px);padding:22px 15px}.metric-grid{grid-template-columns:1fr 1fr}.lower{grid-template-columns:1fr}header{align-items:flex-start}.actions .ghost{display:none}.upload-side{grid-template-columns:1fr}.preview-summary{grid-template-columns:1fr 1fr}.source-picker{grid-template-columns:1fr 1fr}}
.issues-page{overflow:hidden}.issues-page .issue-list{border-top:1px solid var(--line)}.issues-empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;color:var(--muted)}.issues-empty>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e8f4ef;color:var(--green);font-size:28px;font-weight:800;margin-bottom:18px}.issues-empty h3{color:var(--ink);margin:0 0 10px}.issues-empty p{margin:0 0 24px;max-width:520px;line-height:1.7}
.rebate-page{display:flex;flex-direction:column;gap:17px}.rebate-toolbar{display:flex;justify-content:space-between;align-items:end}.rebate-toolbar label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px}.rebate-toolbar select,.rebate-entry select{min-width:180px;padding:10px 12px;border:1px solid #d7dfdb;border-radius:7px;background:#fff;font:inherit;color:var(--ink)}.rebate-message{padding:11px 14px;border-radius:8px;background:#eaf2ec;color:var(--green);font-size:11px}.rebate-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.rebate-metrics article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px}.rebate-metrics span,.rebate-metrics b{display:block}.rebate-metrics span{font-size:10px;color:var(--muted)}.rebate-metrics b{font:700 21px Georgia,serif;margin-top:13px}.rebate-metrics .balance{background:#173a31;color:#fff;border-color:#173a31}.rebate-metrics .balance span{color:#b8d0c9}.rebate-summary table,.rebate-ledger table{min-width:900px}.rebate-ledger table{min-width:1250px}.rebate-ledger tbody tr:first-child,.rebate-summary tbody tr:first-child{background:transparent}.rebate-ledger td:first-child,.rebate-summary td:first-child{position:static}.rebate-ledger .positive{color:var(--green);font-weight:700}.rebate-ledger .negative{color:var(--red);font-weight:700}.rebate-ledger tr.voided{color:#a0a9a6;text-decoration:line-through}.text-danger{border:0;background:transparent;color:var(--red);font-weight:700;cursor:pointer}.rebate-entry .manual-grid{padding:22px}.rebate-entry .manual-grid label.wide{grid-column:1/-1}.rebate-entry input,.rebate-entry select{width:100%;margin-top:7px}.rebate-entry .entry-save{margin:0 22px 22px;width:calc(100% - 44px)}
.rebate-toolbar{justify-content:flex-end}.aging-page{display:flex;flex-direction:column;gap:17px}.aging-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.aging-metrics article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px}.aging-metrics span,.aging-metrics b,.aging-metrics small{display:block}.aging-metrics span{font-size:10px;color:var(--muted)}.aging-metrics b{font:700 20px Georgia,serif;margin:13px 0 8px}.aging-metrics small{font-size:9px;color:#7f8c87}.aging-metrics .aging-total{background:#173a31;color:#fff;border-color:#173a31}.aging-metrics .aging-total span,.aging-metrics .aging-total small{color:#b8d0c9}.aging-structure>.panelhead>small{font-size:10px;color:var(--muted)}.aging-bars{padding:17px 20px}.aging-bars>div{display:grid;grid-template-columns:70px minmax(120px,1fr) 110px;gap:12px;align-items:center;margin:12px 0;font-size:10px}.aging-bars>div>i{height:18px;border-radius:5px;background:#edf1ef;overflow:hidden}.aging-bars>div>i>em{display:block;height:100%;min-width:2px;background:#2a8068}.aging-bars>div:nth-child(2)>i>em{background:#799b72}.aging-bars>div:nth-child(3)>i>em{background:#c38a48}.aging-bars>div:nth-child(4)>i>em{background:#cb5a4b}.aging-bars>div>b{text-align:right}.aging-actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.aging-actions .primary{padding:3px 6px;border-radius:5px;font-size:14px;line-height:1.15}.aging-actions small{font-size:10px;font-weight:400;color:var(--muted)}.aging-stat table{min-width:760px}.aging-stat tbody tr:first-child{background:#f2f7f3}.aging-stat th:first-child,.aging-stat td:first-child{min-width:170px}.aging-stat .empty-row{text-align:center!important;padding:32px!important}
@media(max-width:1100px){.rebate-metrics,.aging-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.rebate-metrics,.aging-metrics{grid-template-columns:1fr 1fr}.rebate-toolbar{align-items:stretch;gap:12px}.rebate-toolbar select{min-width:0;width:100%}.aging-bars>div{grid-template-columns:55px minmax(80px,1fr) 85px}}
.ecommerce-advance{overflow:hidden}.advance-balance{text-align:right}.advance-balance small,.advance-balance b{display:block}.advance-balance small{font-size:9px;color:var(--muted)}.advance-balance b{font:700 20px Georgia,serif;color:var(--red);margin-top:5px}.advance-accounts{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;background:#f7f8f6;border-bottom:1px solid var(--line)}.advance-accounts span{padding:5px 9px;border-radius:12px;background:#eeeaf3;color:#6f5682;font-size:9px}.ecommerce-advance table{min-width:1150px}.ecommerce-advance tbody tr:first-child{background:transparent}.ecommerce-advance th:first-child,.ecommerce-advance td:first-child{position:static;text-align:center}.ecommerce-advance input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);cursor:pointer}.ecommerce-advance .matched-row{color:#8a9591;background:#f7faf8}.ecommerce-advance .rebate-message{border-radius:0;margin:0;border-bottom:1px solid #d5e4da}
.profit-plan-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:14px;margin-bottom:18px}.profit-card,.event-note{min-height:210px}.profit-card .panelhead,.event-note .panelhead{padding:15px 17px}.profit-card .panelhead button{padding:7px 10px;font-size:9px}.profit-goals{padding:10px 17px 15px}.profit-goals label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf0ee;color:var(--muted);font-size:10px}.profit-goals label:last-child{border-bottom:0}.profit-goals div{display:flex;align-items:center;gap:5px;color:var(--green);font-weight:700}.profit-goals input{width:105px;border:0;border-bottom:1px solid #cfd9d5;padding:5px 2px;text-align:right;font:700 15px Georgia,serif;color:var(--ink);outline:none}.profit-results{display:grid;grid-template-columns:1fr 1fr;padding:22px 17px;gap:12px}.profit-results>div{padding:14px;border-radius:8px;background:#f4f8f5}.profit-results span,.profit-results b,.profit-results small{display:block}.profit-results span{font-size:10px;color:var(--muted)}.profit-results b{font:700 20px Georgia,serif;margin:12px 0 7px}.profit-results small{font-size:9px;color:#89938f}.event-add{display:flex;gap:8px;padding:13px 16px;border-bottom:1px solid var(--line)}.event-add input{min-width:0;flex:1;border:1px solid #d8dfdc;border-radius:7px;padding:9px 10px;font:inherit}.event-add button{padding:8px 13px}.event-list{max-height:160px;overflow:auto;padding:2px 16px 12px}.event-list label{display:flex;align-items:flex-start;gap:9px;padding:10px 0;border-bottom:1px solid #edf0ee;font-size:10px;line-height:1.55;cursor:pointer}.event-list input{width:16px;height:16px;margin-top:0;accent-color:var(--green);cursor:pointer}.plan-message{margin:0;padding:8px 16px;background:#eaf2ec;color:var(--green);font-size:9px}
.profit-start{display:flex;align-items:end;gap:8px;padding:11px 17px 0}.profit-start label{display:flex;flex:1;flex-direction:column;gap:5px;font-size:9px;color:var(--muted)}.profit-start input{border:1px solid #d8dfdc;border-radius:6px;padding:7px 8px;color:var(--ink);font:inherit}.profit-start button{padding:7px 9px;white-space:nowrap;font-size:9px}.profit-start+.profit-results{padding-top:12px}
@media(max-width:1200px){.profit-plan-grid{grid-template-columns:1fr 1fr}.event-note{grid-column:1/-1}}@media(max-width:760px){.profit-plan-grid{grid-template-columns:1fr}.event-note{grid-column:auto}.profit-results{grid-template-columns:1fr}}
.rebate-section-label{font-size:10px;color:var(--muted);margin:0 0 -10px}.rebate-metrics small,.rebate-period span,.rebate-period b,.rebate-period small{display:block}.rebate-metrics small,.rebate-period small{font-size:8px;color:#89938f;margin-top:6px}.rebate-metrics .balance small{color:#b8d0c9}.rebate-period{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rebate-period article{background:#f9fbfa;border:1px solid var(--line);border-left:3px solid #2d8069;border-radius:9px;padding:14px 16px}.rebate-period article.used{border-left-color:#c59a4a}.rebate-period span{font-size:10px;color:var(--muted)}.rebate-period b{font:700 18px Georgia,serif;margin-top:9px}.rebate-summary>.panelhead>small{font-size:9px;color:var(--muted)}@media(max-width:1100px){.rebate-period{grid-template-columns:1fr 1fr}}@media(max-width:760px){.rebate-period{grid-template-columns:1fr 1fr}}
.icp-record{display:block;padding:10px 12px 0;color:#85a69d;font-size:9px;text-decoration:none}.icp-record:hover{color:#fff;text-decoration:underline}
