:root{--ink:#171717;--muted:#757575;--line:#e8e8e8;--soft:#f7f7f6;--green:#169b62}*{box-sizing:border-box}body{margin:0;background:#f5f5f4;color:var(--ink);font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}button,input,select{font:inherit}.app{min-height:100vh;display:flex}.sidebar{width:238px;background:#fafafa;border-right:1px solid var(--line);padding:25px 16px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 7px;font-size:17px}.brand-mark{width:34px;height:34px;border-radius:9px;display:block;object-fit:cover;border:1px solid #e2e6ec;background:#fff}.version{font-size:12px;color:#aaa;padding:10px 8px 22px}.sidebar nav{display:grid;grid-gap:6px;gap:6px}.sidebar nav button{border:0;background:none;height:42px;border-radius:9px;padding:0 12px;display:flex;align-items:center;gap:11px;cursor:pointer;text-align:left;color:#4c4c4c}.sidebar nav button svg{width:18px}.sidebar nav button:hover{background:#f0f0ef}.sidebar nav .active{background:#181818;color:white}.merchant{margin-top:auto;border-top:1px solid var(--line);padding:18px 6px 0;display:flex;align-items:center;gap:10px}.merchant .avatar{width:34px;height:34px;border:1px solid #ddd;border-radius:50%;display:grid;place-items:center;font-weight:600}.merchant div:nth-child(2){display:grid;grid-gap:3px;gap:3px;flex:1 1}.merchant span{font-size:11px;color:#999}main{margin-left:238px;min-width:0;flex:1 1}.topbar{height:66px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:0 28px;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:5}.icon-btn{border:0;background:transparent;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:#6a6a6a;cursor:pointer}.icon-btn:hover{background:#f1f1f1}.delete-btn:hover{background:#fff0f0;color:#c93636}.content{padding:30px 32px 48px;max-width:1500px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}h1{font-size:25px;letter-spacing:-.5px;margin:0 0 7px}.card-title p,header p{color:var(--muted);margin:0}.refresh{color:#888;font-size:12px}.refresh i{display:inline-block;width:6px;height:6px;background:#28ad6b;border-radius:50%;margin-right:5px}.card{background:white;border:1px solid #e5e5e5;border-radius:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:14px}.stat{padding:19px;display:flex;align-items:flex-start;gap:14px}.stat-icon{width:38px;height:38px;background:#f0f0ef;border-radius:10px;display:grid;place-items:center}.stat-icon.amber{background:#fff5e5;color:#b36d00}.stat>div:last-child{display:grid;grid-gap:7px;gap:7px}.stat span{color:#6e6e6e}.stat strong{font-size:24px;letter-spacing:-.5px}.stat small{color:var(--green)}.grid-two{display:grid;grid-template-columns:1.65fr 1fr;grid-gap:14px;gap:14px;margin-bottom:14px}.chart-card,.overview{padding:20px}.card-title{display:flex;justify-content:space-between;align-items:flex-start}.card-title h3{font-size:16px;margin:0 0 6px}.card-title p{font-size:12px}.secondary,.select{border:1px solid #dfdfdf;background:white;border-radius:8px;height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.chart{height:244px;position:relative;margin:20px 3px 0 32px;background:repeating-linear-gradient(180deg,transparent 0,transparent 51px,#eeeeed 52px)}.chart svg{position:absolute;inset:3px 0 28px;width:100%;height:calc(100% - 31px);overflow:visible}.chart .area{fill:url(#fill)}.chart .line{fill:none;stroke:#191919;stroke-width:2.5;vector-effect:non-scaling-stroke}.y-labels{right:calc(100% + 10px);top:-5px;bottom:28px;flex-direction:column;color:#aaa}.x-labels,.y-labels{position:absolute;display:flex;justify-content:space-between;font-size:10px}.x-labels{left:0;right:0;bottom:0;color:#999}.overview{display:grid;grid-template-columns:150px 1fr;grid-template-rows:auto 1fr;align-items:center}.overview .card-title{grid-column:1/-1}.donut{width:126px;height:126px;border-radius:50%;background:conic-gradient(#181818 0 77.8%,#999 77.8% 94.5%,#e4e4e4 94.5%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:88px;height:88px;background:white;border-radius:50%}.donut div{display:grid;text-align:center;z-index:1}.donut strong{font-size:23px}.donut span{font-size:11px;color:#888}.legend{display:grid;grid-gap:14px;gap:14px}.legend div{display:flex;justify-content:space-between;border-bottom:1px solid #eee;padding-bottom:11px}.legend span{display:flex;align-items:center;gap:7px}.legend small{color:#999;font-weight:400;margin-left:5px}.dot{width:7px;height:7px;border-radius:50%}.dot.black{background:#181818}.dot.gray{background:#999}.dot.light{background:#ddd}.recent{overflow:hidden}.recent .card-title{padding:20px 20px 10px}.text-btn{border:0;background:transparent;display:flex;align-items:center;gap:5px;cursor:pointer;color:#555}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px}th{text-align:left;font-size:11px;color:#929292;font-weight:500;background:#fafafa;padding:12px 20px;border-top:1px solid #eee}td,th{border-bottom:1px solid #eee}td{padding:15px 20px;white-space:nowrap}tbody tr:hover{background:#fbfbfa}td b,td span{display:block}td b{font-size:13px;margin-bottom:5px}td span{font-size:11px;color:#999}.order-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.amount{font-weight:650}.muted{color:#888;font-size:12px}.status{display:inline-flex!important;align-items:center;gap:7px;border-radius:20px;padding:5px 9px;font-size:11px}.status i{width:6px;height:6px;border-radius:50%}.status.paid{color:#128653;background:#ebf8f1}.status.paid i{background:#16a363}.status.pending{color:#9b6500;background:#fff5dc}.status.pending i{background:#d99100}.status.expired{color:#777;background:#f0f0f0}.status.expired i{background:#999}.primary{border:0;background:#181818;color:white;border-radius:8px;height:38px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.primary:hover{background:#333}.orders-card{overflow:hidden}.toolbar{padding:16px;display:flex;gap:10px}.search{height:38px;width:320px;display:flex;align-items:center;gap:9px;border:1px solid #ddd;border-radius:8px;padding:0 12px}.search:focus-within{border-color:#777;box-shadow:0 0 0 3px #eee}.search input{border:0;outline:0;min-width:0;flex:1 1}.toolbar select{height:38px;border:1px solid #ddd;border-radius:8px;padding:0 28px 0 12px;background:white}.toolbar .export{margin-left:auto}.pagination{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;color:#888;font-size:12px}.pagination div{display:flex;gap:5px}.pagination button{height:30px;padding:0 10px;border:1px solid #e1e1e1;background:white;border-radius:7px}.pagination .current{background:#181818;color:white;border-color:#181818}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:20;display:grid;place-items:center;padding:20px}.modal{width:520px;max-width:100%;background:white;border-radius:15px;box-shadow:0 24px 80px rgba(0,0,0,.2);overflow:hidden}.modal-head{padding:22px 24px;border-bottom:1px solid #eee;display:flex;justify-content:space-between}.modal h2{font-size:19px;margin:0 0 6px}.modal-head p{margin:0;color:#888;font-size:12px}.modal form{padding:22px 24px}.modal label{display:grid;grid-gap:8px;gap:8px;margin-bottom:17px;font-weight:600;font-size:12px}.modal label small{font-weight:400;color:#999}.modal input,.modal select{height:42px;border:1px solid #ddd;border-radius:8px;padding:0 12px;outline:none;background:white}.modal input:focus,.modal select:focus{border-color:#777;box-shadow:0 0 0 3px #eee}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px}.money-input{position:relative}.money-input span{position:absolute;left:12px;top:12px}.money-input input{width:100%;padding-left:30px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.success-panel{text-align:center;padding:28px 36px 30px}.success-icon{width:48px;height:48px;border-radius:50%;background:#e9f7f0;color:#15945d;display:grid;place-items:center;margin:auto}.success-panel h3{margin:13px 0 7px}.success-panel>p{color:#777;margin:0 0 19px}.fake-qr{width:142px;height:142px;border:1px solid #ddd;border-radius:9px;margin:auto;padding:7px}.fake-qr svg{width:100%;height:100%;stroke-width:1.3}.link-box{margin:18px auto 0;background:#f5f5f4;border-radius:8px;height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#777}.link-box span{font-size:12px;flex:1 1;text-align:left;overflow:hidden;text-overflow:ellipsis}.success-panel .modal-actions{justify-content:center}.success-panel .modal-actions button{flex:1 1}@media (max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.overview{min-height:280px}}@media (max-width:720px){.sidebar{width:72px;padding:22px 10px}.brand b,.sidebar nav button,.version{font-size:0}.brand{padding:0}.brand,.sidebar nav button{justify-content:center}.merchant div:not(.avatar),.merchant>svg{display:none}.merchant{justify-content:center}.merchant .avatar{display:grid}main{margin-left:72px}.content{padding:22px 15px}.stats{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.search{width:100%}.toolbar .export{margin-left:0}header{align-items:flex-start}.refresh{display:none}.form-row{grid-template-columns:1fr}}.login-page{margin:0;min-height:100vh;display:grid;place-items:center;background:#f3f3f2;padding:24px}.login-shell{width:410px;max-width:100%}.login-brand{display:flex;justify-content:center;align-items:center;gap:11px;margin-bottom:27px}.login-logo{width:46px;height:46px;border-radius:12px;display:block;object-fit:cover;border:1px solid #e2e6ec;background:#fff}.login-brand>div:last-child{display:grid;grid-gap:2px;gap:2px}.login-brand b{font-size:18px}.login-brand span{font-size:11px;color:#8b8b8b}.login-card{background:#fff;border:1px solid #e1e1df;border-radius:16px;padding:34px 34px 30px;box-shadow:0 12px 40px rgba(0,0,0,.04)}.login-lock{width:39px;height:39px;border-radius:10px;background:#f1f1ef;display:grid;place-items:center;margin-bottom:20px}.login-card h1{font-size:22px;margin-bottom:7px}.login-card>p{color:#888;margin:0 0 27px}.login-card label{display:grid;grid-gap:8px;gap:8px;font-size:12px;font-weight:600;margin-bottom:18px}.login-card input{width:100%;height:44px;border:1px solid #dcdcdc;border-radius:9px;padding:0 12px;outline:0;background:#fff}.login-card input:focus{border-color:#555;box-shadow:0 0 0 3px #ededeb}.password-field{position:relative}.password-field input{padding-right:44px}.password-field button{position:absolute;right:5px;top:5px;width:34px;height:34px;border:0;background:transparent;color:#888;border-radius:7px;display:grid;place-items:center;cursor:pointer}.password-field button:hover{background:#f3f3f2}.login-submit{width:100%;height:44px;border:0;border-radius:9px;background:#181818;color:#fff;display:flex;justify-content:center;align-items:center;gap:8px;cursor:pointer;margin-top:6px}.login-submit:hover{background:#303030}.login-submit:disabled{opacity:.65}.login-error{background:#fff1f0;color:#b33a32;border-radius:8px;padding:10px 12px;font-size:12px;margin:-4px 0 16px}.login-shell footer{text-align:center;color:#999;font-size:11px;margin-top:20px}