:root{--ink:#17201c;--muted:#6e7973;--line:#dde4df;--paper:#f4f6f4;--white:#fff;--green:#147d54;--green2:#0d5f40;--amber:#d99b28;--red:#c44848}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.5 Inter,"Segoe UI","Microsoft YaHei",sans-serif;letter-spacing:0}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(420px,.95fr)}.brand-panel{padding:clamp(48px,8vw,112px);background:#143f31;color:#fff;display:flex;flex-direction:column;justify-content:center}.brand-mark,.logo span{display:grid;place-items:center;width:44px;height:44px;background:#ebc75b;color:#1a3027;font-weight:900}.brand-panel h1{font-size:clamp(42px,6vw,76px);line-height:1.05;margin:30px 0 16px}.brand-panel p{font-size:18px;color:#c6d8d0;max-width:520px}.brand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:12px;margin-top:44px}.brand-grid span{border-top:1px solid #5c7b6f;padding-top:12px;color:#dbe7e2}.auth-panel{display:grid;place-items:center;padding:40px;background:#fff}.form-wrap{width:min(100%,420px)}.eyebrow{font-size:12px;font-weight:800;color:var(--green);text-transform:uppercase}.form-wrap h2,.workspace h1{font-size:32px;margin:8px 0}.muted{color:var(--muted)}form label{display:grid;gap:7px;font-weight:700;margin:18px 0}input,select{width:100%;height:44px;border:1px solid #cfd8d2;background:#fff;padding:0 12px;border-radius:4px;outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #147d541a}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--line);border-radius:4px;padding:0 18px;background:#fff;color:var(--ink);font-weight:800;text-decoration:none}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:var(--green2)}.btn.subtle{background:#edf5f1;color:var(--green);border-color:#d4e5dc}.wide{width:100%}.alert{padding:12px 14px;border-left:3px solid;border-radius:2px;margin:14px 0}.alert.error{background:#fff1f1;color:#992f2f;border-color:var(--red)}.alert.ok{background:#ebf8f1;color:#176b4b;border-color:var(--green)}.app-shell{min-height:100vh;display:grid;grid-template-columns:224px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#14231d;color:#dfe9e5;padding:24px 16px;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:0 8px 26px}.logo span{width:34px;height:34px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.logout button{color:#adbbb5;text-decoration:none;border:0;background:none;text-align:left;padding:11px 13px;border-radius:4px;width:100%}.sidebar nav a:hover,.sidebar nav a.active{background:#233a31;color:#fff}.logout{margin-top:auto}.workspace{padding:34px clamp(24px,4vw,56px) 70px;min-width:0}.workspace header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.workspace header h1{margin:2px 0}.status-dot{color:var(--green);font-weight:700}.status-dot:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#2ab275;margin-right:8px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metrics article,.panel{background:#fff;border:1px solid var(--line);border-radius:6px}.metrics article{padding:20px}.metrics span,.metrics small{display:block;color:var(--muted)}.metrics strong{display:block;font-size:27px;margin:10px 0}.panel{padding:22px;margin:16px 0}.quick{display:flex;align-items:center;justify-content:space-between;gap:24px;border-left:4px solid var(--amber)}.quick h2,.panel h2{font-size:18px;margin:0}.quick p,.panel-head p{color:var(--muted);margin:4px 0 0}.quick form{display:grid;grid-template-columns:140px 130px auto;gap:8px;min-width:min(100%,480px)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:var(--muted);font-size:12px;padding:10px;border-bottom:1px solid var(--line)}td{padding:14px 10px;border-bottom:1px solid #edf0ee}.mono{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px}.badge{display:inline-block;padding:3px 8px;border-radius:3px;background:#fff4dc;color:#896118;font-size:12px;font-weight:800}.badge.paid{background:#e7f6ee;color:#176c4c}.empty{text-align:center;color:var(--muted);padding:30px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.split .panel{margin:0}.channel{display:flex;align-items:center;gap:12px;padding:12px 0}.channel-icon{display:grid;place-items:center;width:38px;height:38px;background:#183e31;color:#fff;font-weight:900}.channel div{flex:1}.channel small{display:block;color:var(--muted)}.api-info{margin:0}.api-info div{display:grid;grid-template-columns:90px 1fr;padding:9px 0;border-bottom:1px solid #edf0ee}.api-info dt{color:var(--muted)}.api-info dd{margin:0;overflow-wrap:anywhere}.log-row{display:grid;grid-template-columns:190px 1fr 100px;gap:12px;padding:11px 0;border-bottom:1px solid #edf0ee}.log-row time{color:var(--muted)}.cashier-body{background:#eef2ef}.cashier-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.pay-card{width:min(100%,410px);background:#fff;border-top:5px solid #17895e;box-shadow:0 18px 55px #1733271c;padding:28px;text-align:center}.pay-brand{display:flex;justify-content:center;align-items:center;gap:9px;font-weight:800}.pay-logo{display:grid;place-items:center;width:32px;height:32px;background:#1677ff;color:#fff;border-radius:6px}.pay-label{color:var(--muted);margin:24px 0 4px}.pay-amount{font-size:46px;font-weight:900;line-height:1.2}.pay-amount small{font-size:20px}.qr{--qr-size:29;display:grid;grid-template-columns:repeat(var(--qr-size),1fr);width:236px;aspect-ratio:1;margin:22px auto 14px;padding:12px;background:#fff;border:1px solid var(--line)}.qr i{background:#fff}.qr i.on{background:#15201b}.scan-tip{font-weight:700}.demo-note{background:#fff6df;color:#8a651d;padding:9px;margin:16px 0;border-radius:3px;font-size:12px}.success-ring{display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:#e4f6ed;color:#128057;font-size:46px;font-weight:900;margin:30px auto 12px}.is-paid{border-color:#24a873}@media(max-width:980px){.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.quick{align-items:flex-start;flex-direction:column}.quick form{width:100%}}@media(max-width:720px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:260px;padding:40px}.brand-panel h1{font-size:40px}.brand-grid{display:none}.auth-panel{padding:34px 22px}.app-shell{display:block}.sidebar{position:static;height:auto;padding:14px}.logo{padding-bottom:12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.logout{display:none}.workspace{padding:24px 14px 50px}.workspace header{align-items:flex-start}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metrics article{padding:15px}.metrics strong{font-size:22px}.panel{padding:16px}.quick form{grid-template-columns:1fr 1fr}.quick form .btn{grid-column:1/-1}.log-row{grid-template-columns:1fr}.cashier-shell{padding:12px}.pay-card{padding:24px 18px}.qr{width:min(236px,78vw)}}
