:root{color:#12213f;font-synthesis:none;background:#f4f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.shell{min-height:100vh}.shell>aside{z-index:20;background:#fff;border-right:1px solid #e3e9f2;width:208px;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #edf1f6;align-items:center;gap:10px;height:64px;padding:0 20px;font-size:19px;font-weight:800;display:flex}.brand>span,.logo{color:#fff;background:linear-gradient(140deg,#176cf1,#4c9aff);border-radius:5px;place-items:center;width:28px;height:28px;display:grid}nav{padding:12px 10px}nav button{color:#344563;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;height:44px;margin:2px 0;padding:0 14px;display:flex}nav button:hover,nav button.active{color:#0968ed;background:#eaf2ff}svg{flex:none;width:19px;height:19px}.workspace{padding-left:208px}.workspace>header{z-index:10;background:#fff;border-bottom:1px solid #e6ebf2;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.workspace>header>div{align-items:center;gap:8px;display:flex}.workspace>header svg{width:14px}.muted,small,.page-head p,.setting p{color:#71809c}.user{font-size:14px}.icon{cursor:pointer;color:#40506d;background:0 0;border:0;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.icon:hover{background:#edf3fb}main{max-width:1500px;margin:auto;padding:24px}.page-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.page-head h1{margin:0 0 6px;font-size:28px}.page-head p{margin:0}.primary,.button,form button,.actions button,.upload button{color:#263754;cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;text-decoration:none;display:inline-flex}.primary{color:#fff;background:#0876f9;border-color:#0876f9}.danger{color:#c52d2d!important;background:#fff3f3!important;border-color:#ffc9c9!important}button:disabled{opacity:.5;cursor:not-allowed}.stats{background:#fff;border:1px solid #e1e7ef;border-radius:10px;grid-template-columns:repeat(4,1fr);margin-bottom:18px;display:grid}.stats div{text-align:center;border-right:1px solid #e5eaf1;padding:20px}.stats div:last-child{border:0}.stats span{color:#697993;display:block}.stats strong{margin-top:4px;font-size:30px;display:block}.overview-grid{grid-template-columns:2fr 1fr;gap:18px;display:grid}.card,.table-card,.records,.empty{background:#fff;border:1px solid #e1e7ef;border-radius:10px;margin-bottom:18px}.card{padding:18px}.card h2{margin:0 0 18px;font-size:18px}.flow-row{justify-content:space-around;align-items:flex-start;margin:18px 0 34px;display:flex}.flow-step{flex:1;justify-content:center;align-items:center;gap:8px;display:flex;position:relative}.flow-step>span{color:#0876f9;background:#eaf3ff;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.flow-step b{font-size:13px;position:absolute;top:60px}.flow-step>svg{color:#94a1b4}.step{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4eaf2;border-bottom:0;grid-template-columns:54px 1fr 22px;align-items:center;width:100%;padding:15px;display:grid}.step:last-child{border-bottom:1px solid #e4eaf2;border-radius:0 0 8px 8px}.step strong{color:#0876f9;font-size:19px}.step span{align-items:center;gap:18px;display:flex}.step small{font-weight:400}.status-card{padding-bottom:8px}.status-row{border-top:1px solid #e8edf4;align-items:center;gap:12px;padding:13px 0;display:flex}.status-row>span,.activity-list span,.record>span,.asset>span{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.status-row small,.record small,.asset small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.badge{color:#67758d;white-space:nowrap;background:#eef2f7;border-radius:20px;padding:4px 8px;font-size:12px}.badge.approved,.badge.online,.badge.connected,.badge.delivered,.badge.closed,.badge.paid{color:#14804a;background:#e9f8f0}.badge.pending,.badge.review,.badge.payment_review,.badge.processing,.badge.queued,.badge.running,.badge.unverified{color:#986a00;background:#fff6df}.badge.rejected,.badge.failed,.badge.revoked,.badge.offline{color:#bd2c2c;background:#ffecec}.activity-list>div{border-top:1px solid #edf1f5;align-items:center;gap:12px;padding:12px 0;display:flex}.empty{color:#76849b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:220px;padding:30px;display:flex}.empty svg{color:#b3bdcb;width:34px;height:34px}.table-head,.table-row{grid-template-columns:2fr 1fr 1fr 1fr 30px;align-items:center;gap:12px;padding:14px 18px;display:grid}.table-head{color:#71809c;border-bottom:1px solid #e5eaf1;font-size:12px}.table-row{text-align:left;cursor:pointer;width:100%;color:inherit;background:#fff;border:0;border-bottom:1px solid #edf1f5}.table-row:last-child{border-bottom:0;border-radius:0 0 10px 10px}.table-row:hover,.record:hover{background:#f8faff}.table-row>span:first-child{flex-direction:column;display:flex}.records{overflow:hidden}.record{width:100%;min-height:70px;color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e9eef4;align-items:center;gap:14px;padding:12px 18px;display:flex}.record:last-child{border:0}.two-col{grid-template-columns:1fr 1fr;gap:18px;display:grid}.setting{justify-content:space-between;align-items:center;display:flex}.setting h2{margin-bottom:5px}.setting p{margin:0}.setting>div:last-child{align-items:center;gap:12px;display:flex}.link-list{gap:10px;display:flex}.link-list a{color:#0876f9;border:1px solid #e1e7ef;border-radius:8px;align-items:center;padding:12px 16px;text-decoration:none;display:flex}.alert,.notice{border-radius:8px;align-items:center;gap:9px;margin-bottom:14px;padding:12px 14px;display:flex}.alert{color:#a82d2d;background:#fff0f0}.notice{color:#167748;background:#eaf9f1}.alert button,.notice button{background:0 0;border:0;margin-left:auto}.modal-wrap{z-index:50;background:#14223b66;position:fixed;inset:0}.drawer{background:#fff;width:min(560px,100%);position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-10px 0 30px #1a274533}.drawer>header{z-index:2;background:#fff;border-bottom:1px solid #e5eaf1;justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex;position:sticky;top:0}.drawer>header h2{margin:0}.drawer>form,.drawer>.detail{padding:22px}form label{flex-direction:column;gap:7px;margin-bottom:16px;font-size:13px;font-weight:600;display:flex}input,select,textarea{color:#172643;background:#fff;border:1px solid #cfd8e5;border-radius:7px;width:100%;padding:11px 12px}textarea{resize:vertical;min-height:90px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.submit{width:100%}dl{margin:0 0 22px}dl div{border-bottom:1px solid #edf1f5;grid-template-columns:110px 1fr;padding:10px 0;display:grid}dt{color:#71809c}dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.detail h3{margin:22px 0 10px;font-size:15px}.asset{color:inherit;border:1px solid #e3e9f1;border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;text-decoration:none;display:flex}.upload{border:1px dashed #bad0ec;border-radius:8px;margin-top:12px;padding:12px!important}.upload input{border:0;margin-bottom:10px;padding:0}.actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.content-body,.snapshot{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7fa;border-radius:8px;max-height:45vh;padding:14px;font:13px/1.65 ui-monospace,SFMono-Regular,monospace;overflow:auto}.form-error{color:#aa2828;background:#fff0f0;border-radius:7px;margin-bottom:14px;padding:11px}.login,.state{place-items:center;min-height:100vh;padding:20px;display:grid}.login form{background:#fff;border:1px solid #e1e7ef;border-radius:12px;width:min(390px,100%);padding:34px;box-shadow:0 18px 50px #22365d18}.login .logo{width:44px;height:44px}.login h1{margin:18px 0 5px}.login p{color:#71809c;margin:0 0 24px}.login button{width:100%}.state{text-align:center;align-content:center}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile{display:none}.backdrop{z-index:15;background:#1c294755;border:0;position:fixed;inset:0}@media (width<=760px){.mobile{display:grid}.shell>aside{width:min(300px,82vw);transition:transform .2s;transform:translate(-100%)}.shell>aside.open{transform:none}.workspace{padding-left:0}.workspace>header{padding:0 12px}.workspace>header>div:first-of-type{display:none}.user span{text-overflow:ellipsis;max-width:110px;overflow:hidden}main{padding:16px}.page-head{align-items:flex-start}.page-head h1{font-size:24px}.page-head>.primary{padding:10px}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid #e5eaf1}.overview-grid,.two-col{grid-template-columns:1fr}.flow-row{justify-content:flex-start;padding-bottom:12px;overflow-x:auto}.flow-step{min-width:120px}.step span{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.table-head{display:none}.table-row{grid-template-columns:1fr auto 22px}.table-row>span:nth-child(2),.table-row>span:nth-child(3){display:none}.setting{flex-direction:column;align-items:flex-start;gap:18px}.setting>div:last-child{justify-content:space-between;width:100%}.form-grid{grid-template-columns:1fr}.drawer{width:100%}.record{padding:12px}.record>svg:first-child{display:none}.link-list{flex-direction:column}.actions{flex-wrap:wrap}.actions>*{flex:1}.page-head p{font-size:13px}}.product-row{border-bottom:1px solid #edf1f5;position:relative}.product-row .table-row{border-bottom:0;padding-right:190px}.row-tools{gap:6px;display:flex;position:absolute;top:50%;right:54px;transform:translateY(-50%)}.row-tools button{color:#0868dc;cursor:pointer;background:#fff;border:1px solid #ccdbef;border-radius:6px;padding:6px 9px}.legal-note{color:#7d5700;background:#fff6df;border:1px solid #f1d894;border-radius:8px;margin-bottom:14px;padding:10px 12px;font-weight:700}.tool-form{padding:22px}.tool-form .form-grid{align-items:end}@media (width<=760px){.product-row .table-row{padding-bottom:54px;padding-right:18px}.row-tools{inset:auto auto 10px 18px;transform:none}}
