:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#18312b;background:#eef2ec;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 72px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 30px;color:#fff;background:linear-gradient(135deg,#123b32,#286c57);border-radius:24px;box-shadow:0 18px 45px #123b322e}.topbar h1{margin:4px 0 0;font-size:clamp(28px,4vw,42px)}.eyebrow{margin:0;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.72}.environment,.formula{padding:8px 12px;border-radius:999px;background:#ffffff24;font-size:13px;white-space:nowrap}.user-chip{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 13px;background:#ffffff24;border-radius:999px;font-size:13px}.user-chip button{padding:6px 10px;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.35);border-radius:999px}.formula{color:#285344;background:#e6f2ea}.login-panel{width:min(620px,100%);margin:36px auto 0;padding:34px;text-align:center;background:#fff;border-radius:22px;box-shadow:0 16px 40px #1e3a3114}.login-panel h2{margin:8px 0 10px}.login-panel>p{color:#617970}.login-code{margin:24px auto 10px;padding:20px;color:#173b31;background:#e7f2eb;border:2px dashed #73a38f;border-radius:14px;font-size:clamp(26px,5vw,38px);font-weight:900;letter-spacing:.08em}.login-panel .login-waiting{font-size:13px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;padding:6px;width:fit-content;max-width:100%;background:#dde6df;border-radius:14px}.tabs button{padding:10px 18px;border:0;border-radius:10px;color:#45645a;background:transparent;font-weight:700}.tabs button.active{color:#173b31;background:#fff;box-shadow:0 4px 14px #1a372e14}.panel{padding:26px;background:#ffffffeb;border:1px solid rgba(29,67,56,.08);border-radius:22px;box-shadow:0 16px 40px #1e3a3114}.panel-heading,.result-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}h2{margin:5px 0 0;font-size:23px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px;background:#f6f8f5;border-radius:16px}label{display:flex;flex-direction:column;gap:7px;color:#567067;font-size:13px;font-weight:700}input,select,textarea{width:100%;min-height:43px;padding:9px 11px;color:#18312b;background:#fff;border:1px solid #cfdad3;border-radius:10px;outline:none}input:focus,select:focus,textarea:focus{border-color:#2c8064;box-shadow:0 0 0 3px #2c80641f}textarea{resize:vertical}.agent-box{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-bottom:16px;padding:16px;background:#e9f1ec;border:1px solid #d7e5dc;border-radius:15px}.agent-box p{grid-column:1 / -1;margin:0;padding:10px 12px;color:#285344;background:#fff;border-radius:9px;font-size:13px}.agent-only-box{margin-bottom:0;padding:22px}.agent-only-box textarea{min-height:92px}.check{flex-direction:row;align-items:center;align-self:end;min-height:43px}.check input{width:18px;min-height:18px}.file-field{grid-column:span 2}.hidden-file-input{position:absolute;width:1px;min-height:1px;padding:0;opacity:0;pointer-events:none}.custom-file-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:43px;overflow:hidden;background:#fff;border:1px solid #cfdad3;border-radius:10px;cursor:pointer}.custom-file-picker em{align-self:stretch;display:flex;align-items:center;padding:0 14px;color:#23684f;background:#edf4ef;border-right:1px solid #cfdad3;font-style:normal;font-weight:800}.custom-file-picker strong{padding:0 12px;overflow:hidden;color:#29483e;text-overflow:ellipsis;white-space:nowrap}.file-field small{color:#70847c;font-weight:500}.primary,.secondary{align-self:end;min-height:43px;padding:10px 18px;border-radius:11px;font-weight:800}.primary{color:#fff;background:#23684f;border:1px solid #23684f}.secondary{color:#23684f;background:#fff;border:1px solid #8eafa2}.upload-help{margin:0 0 18px;color:#577069;line-height:1.7}.import-actions{display:flex;gap:12px;align-items:center;margin-top:18px}.import-guidance{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;padding:15px 17px;border-radius:12px}.import-guidance span{line-height:1.6;font-size:13px}.import-guidance.needs-fix{color:#704417;background:#fff2d5;border:1px solid #efd49a}.import-guidance.ready{color:#1e5d47;background:#e5f3eb;border:1px solid #bfdfcd}.retry-upload{display:inline-flex;align-items:center;min-height:43px;padding:10px 18px;color:#fff;background:#23684f;border:1px solid #23684f;border-radius:11px;cursor:pointer;font-size:14px;font-weight:800}.retry-upload input{display:none}.retry-upload.disabled{cursor:not-allowed;opacity:.45}.store-edit-form{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:14px;align-items:end;margin-bottom:22px;padding:18px;background:#f4f7f4;border-radius:14px}.store-edit-form .data-edit-heading{grid-column:1 / -1}.store-card-list{display:grid;gap:14px}.store-card{padding:18px;border:1px solid #d9e4de;border-radius:14px}.store-card header{display:flex;justify-content:space-between;gap:12px}.store-card header>div:first-child{display:flex;align-items:center;gap:10px}.store-card h3{margin:0}.store-card>p{color:#667c73;font-size:13px}.alias-list{display:grid;gap:9px;padding-top:12px;border-top:1px solid #e3eae6}.alias-row,.alias-add{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.alias-row span{padding:9px 11px;background:#f5f7f5;border-radius:8px}.alias-add{grid-template-columns:1fr auto}.product-query-box{margin-top:24px;padding-top:22px;border-top:1px solid #dce7e2}.product-query-box h3{margin:4px 0 16px}button:disabled{cursor:not-allowed;opacity:.45}.notice{padding:13px 16px;color:#784f18;background:#fff1cf;border-radius:12px}.results{margin-top:28px}.group-card{margin-top:14px;overflow:hidden;border:1px solid #dbe4df;border-radius:15px}.group-card header{display:flex;justify-content:space-between;padding:15px 17px;background:#f1f6f2}.group-card h3{margin:0;font-size:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:12px 14px;text-align:left;border-top:1px solid #e5ebe7;font-size:13px}th{color:#648076;font-size:12px}.amount{color:#176046;font-weight:900}.campaign-create{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:14px;align-items:end;margin-top:22px;padding:18px;background:#e8f2eb;border-radius:15px}.campaign-create h3{margin:4px 0 0}.gift-register{margin-top:22px}td small{display:block;margin-top:4px;color:#71877f}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#e7ece9;font-weight:800}.status-pill.issued{color:#176046;background:#dff2e8}.status-pill.waiting_reply{color:#815716;background:#fff0c9}.status-pill.cancelled{color:#8e3831;background:#f8dfdc}.action-cell{display:flex;gap:6px}.action-cell button{padding:6px 9px;color:#285344;background:#fff;border:1px solid #c5d3cc;border-radius:7px}.detail-search{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:18px;background:#f6f8f5;border-radius:16px}.detail-search label:first-child{flex:1 1 260px}.detail-search .check{align-self:end}.customer-matches{display:grid;gap:10px;margin-top:18px}.customer-matches button{display:grid;grid-template-columns:1fr 2fr auto;gap:14px;align-items:center;padding:15px;text-align:left;color:#18312b;background:#fff;border:1px solid #d6e1db;border-radius:12px}.customer-matches span{color:#698078}.customer-matches em{color:#247054;font-style:normal;font-weight:800}.customer-matches .combine-card{color:#fff;background:linear-gradient(135deg,#23684f,#2f8063);border-color:#23684f}.customer-matches .combine-card span,.customer-matches .combine-card em{color:#e0f2e9}.detail-totals{grid-template-columns:repeat(5,1fr)}.detail-totals .grand-total{color:#fff;background:#23684f}.detail-totals .grand-total span{color:#d9eee5}.summary-totals{grid-template-columns:repeat(6,1fr)}.summary-totals .grand-total{color:#fff;background:#23684f}.summary-totals .grand-total span{color:#d9eee5}.detail-table{border:1px solid #dbe4df;border-radius:13px}.data-filters{display:grid;grid-template-columns:1.4fr repeat(6,minmax(125px,1fr)) auto;gap:12px;align-items:end;padding:16px;background:#f6f8f5;border-radius:16px}.data-edit-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px;padding:20px;background:#eaf3ed;border:1px solid #d2e5d9;border-radius:16px}.data-edit-heading{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.data-edit-heading h3{margin:4px 0 0}.data-edit-form .wide{grid-column:span 2}.data-summary{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:0 4px 10px;color:#617970}.data-table{border:1px solid #dbe4df;border-radius:13px}.data-table table{min-width:1500px}.audit-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end;padding:16px;background:#f6f8f5;border-radius:16px}.audit-table table{min-width:1050px}.audit-table td button{width:auto}.user-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0;padding:20px;background:#eaf3ed;border:1px solid #d2e5d9;border-radius:16px}.user-edit-form .data-edit-heading{grid-column:1 / -1}.user-table table{min-width:980px}.status-pill.active{color:#176046;background:#dff2e8}.status-pill.disabled{color:#8e3831;background:#f8dfdc}.status-pill.closed{color:#7a5620;background:#fff0c9}.disabled-user-row{color:#85736f;background:#faf4f2}.unbound-text{color:#a05a24;font-weight:800}.deleted-row{color:#8b7773;background:#faf4f2}.deleted-row td{text-decoration-color:#c9aaa4}.danger-link{color:#a33d35!important;border-color:#ddb7b2!important}.empty-cell{padding:36px;color:#71877f;text-align:center}.pagination{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.compact{min-height:36px;padding:7px 12px;align-self:auto}.raw-modal{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:24px;background:#0d221c7a}.raw-modal article{width:min(760px,100%);max-height:80vh;overflow:auto;padding:22px;background:#fff;border-radius:18px;box-shadow:0 25px 70px #00000038}.raw-modal pre{padding:16px;overflow:auto;color:#29483e;background:#f3f6f3;border-radius:11px;white-space:pre-wrap;word-break:break-all}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stats div{display:flex;flex-direction:column;gap:5px;padding:15px;background:#f4f7f4;border-radius:12px}.stats span{color:#6d827a;font-size:12px}.stats strong{font-size:24px}.issue-list{display:grid;gap:8px;max-height:430px;margin-bottom:18px;overflow:auto}.issue{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px 14px;border-left:4px solid #7b9188;background:#f5f7f5;border-radius:8px;font-size:12px}.issue.blocking{border-color:#b7473b;background:#fff0ed}.issue.review{border-color:#d39a28;background:#fff7e6}.issue.info{border-color:#5485a3;background:#eff7fb}.issue span{color:#687d75}.issue code{padding:4px 7px;background:#ffffffbf;border-radius:5px}.site-footer{padding:8px 20px 28px;text-align:center;color:#71877f;font-size:13px}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:#23684f;text-decoration:underline}@media(max-width:820px){.shell{width:min(100% - 20px,680px);padding-top:12px}.topbar{padding:21px;border-radius:18px}.environment{display:none}.panel{padding:18px}.form-grid{grid-template-columns:1fr 1fr;padding:15px}.file-field{grid-column:span 2}.stats,.detail-totals,.summary-totals,.campaign-create,.data-filters,.audit-filters,.user-edit-form,.data-edit-form{grid-template-columns:1fr 1fr}.issue{grid-template-columns:1fr}.store-edit-form{grid-template-columns:1fr 1fr}}@media(max-width:520px){.form-grid{grid-template-columns:1fr}.file-field{grid-column:auto}.panel-heading,.result-toolbar{align-items:stretch;flex-direction:column}.formula{align-self:flex-start}.primary,.secondary{width:100%}.campaign-create,.agent-box{grid-template-columns:1fr}.agent-box p{grid-column:auto}.customer-matches button,.data-filters,.data-edit-form,.audit-filters,.user-edit-form{grid-template-columns:1fr}.data-edit-form .wide{grid-column:auto}}
