:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#1f2735;background:#f6f7f9;font-synthesis:none;--accent:#98552e;--line:#e9e9ed;--muted:#828794}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--accent);text-decoration:none}button{border:1px solid var(--line);border-radius:8px;background:white;padding:9px 14px;color:inherit;white-space:nowrap}.primary{background:#8f512e;color:white;border-color:#8f512e}.danger{color:#b9443f}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.loading{padding:60px;text-align:center}.layout{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100dvh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:30px 18px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:24px}.brand{font-size:23px;font-weight:750;letter-spacing:-.7px;display:flex;gap:9px;align-items:center}.mark{display:inline-flex;width:34px;height:34px;border-radius:11px;background:#915333;color:#fff;align-items:center;justify-content:center;font-size:18px}.subtitle{font-size:11px;letter-spacing:2px;color:#9c9fa7;margin-top:8px}.nav{display:grid;gap:8px}.nav button{border:0;text-align:left;background:transparent;padding:13px 16px;color:#717683}.nav button.active{background:#f6ede6;color:#8f512e;font-weight:650}.nav span{margin-right:12px;font-size:15px}.sidebar-foot{margin-top:auto;font-size:12px;line-height:1.9;color:#9296a1}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4d9c75;margin-right:6px}.main{min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:16px}.topbar .crumb{font-size:13px;color:#8c919d}.user{display:flex;gap:12px;align-items:center;font-size:13px}.user button{font-size:12px;padding:7px 11px}.env{background:#f9f1e5;color:#9a6e2b;border:1px solid #eee0c9;border-radius:5px;padding:4px 7px;font-size:11px}.content{padding:33px 36px 50px;max-width:1680px;margin:auto}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.eyebrow{font-size:11px;letter-spacing:2px;color:#a37b60;margin-bottom:8px}.heading h1{font-size:26px;margin:0 0 10px;font-weight:650;letter-spacing:-.5px}.heading p{font-size:13px;color:#858b98;margin:0;line-height:1.7}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px}.stat label{font-size:12px;color:#878d98}.stat strong{font-size:29px;font-weight:600;display:block;margin:12px 0 9px;letter-spacing:-.6px}.stat small{font-size:11px;color:#a0a5ae}.stat i{font-size:13px;font-style:normal;margin-left:5px;color:#8b929d;font-weight:400}.panel{border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:23px;overflow:hidden}.panel-head{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f0f3;gap:12px}.panel-head h2{font-size:15px;font-weight:600;margin:0}.panel-head small{font-size:12px;color:#9297a2}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:12px}th{font-size:11px;color:#8d939f;font-weight:500;background:#fcfcfd;padding:15px 22px}td{padding:19px 22px;border-top:1px solid #f1f1f4;line-height:1.7}td b{font-weight:550}td small{display:block;color:#9a9faa;font-size:10px}.badge{font-size:10px;border-radius:5px;padding:4px 7px;background:#f1f3f6;color:#727b89;display:inline-block;line-height:1.2}.badge.on,.badge.confirmed,.badge.paid{background:#edf7f1;color:#39815e}.badge.pending,.badge.waiting_payment{background:#fff5e1;color:#a37528}.badge.exception,.badge.failed{background:#fceeed;color:#b84b44}.actions{display:flex;align-items:center;gap:8px}.actions button{font-size:11px;padding:6px 10px}.channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.channel{padding:24px;background:white;border:1px solid var(--line);border-radius:12px}.channel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.channel-logo{height:40px;width:40px;border-radius:12px;background:#f5ede7;color:#a36337;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:12px}.channel h3{font-size:16px;margin:0 0 4px}.channel .channel-title{display:flex;align-items:center}.channel-info{display:flex;justify-content:space-between;font-size:12px;color:#8c919a;margin:20px 0;padding-top:18px;border-top:1px solid #f1f1f4}.channel-info b{color:#3d4552;font-weight:500}.note{padding:17px 20px;border:1px solid #ece5da;background:#fbf9f5;border-radius:9px;font-size:12px;color:#98816a;line-height:1.8;margin:20px 0}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:0 0 24px}.tabs button{border:0;border-radius:0;background:none;padding:12px 0;color:#9197a1;font-size:13px}.tabs button.active{color:#915333;border-bottom:2px solid #915333}.empty{text-align:center;padding:35px;color:#959ba6;font-size:13px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar select{max-width:260px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{display:block;font-size:12px;color:#727b88;margin-bottom:7px}.form input,.form select,.toolbar select{width:100%;border:1px solid #dedfe4;border-radius:8px;padding:11px 12px;background:white;color:#303947;min-width:0}.form .field{margin-bottom:17px}.form .wide{grid-column:1/-1}.form small{font-size:11px;color:#959ba5}.channel-check{display:grid;grid-template-columns:20px 1fr 120px;align-items:center;gap:8px;margin-bottom:12px;font-size:13px}.channel-check input[type=checkbox]{width:16px}.channel-check input[type=text]{padding:8px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}dialog{border:0;border-radius:16px;width:min(580px,94vw);padding:28px;box-shadow:0 20px 90px #18213433;max-height:90dvh;overflow:auto}dialog::backdrop{background:#17203055}dialog h2{font-size:19px;margin:0 0 24px}#toast{display:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#252e3f;color:white;border-radius:10px;padding:13px 20px;z-index:100;font-size:13px;max-width:90vw;line-height:1.5}.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 70% 20%,#f1e9df,transparent 60%),#f7f7f8}.login-card{width:min(420px,100%);padding:40px;background:#fff;border:1px solid #e9e6e1;border-radius:18px;box-shadow:0 15px 65px #38240e08}.login-card h1{font-size:23px;font-weight:600;margin:30px 0 10px}.login-card p{font-size:13px;color:#9196a0;margin-bottom:25px;line-height:1.8}.login-card .primary{width:100%;padding:13px}.login-footer{font-size:11px;color:#a4a6ac;text-align:center;margin-top:25px}.cashier{max-width:440px;margin:6vh auto;padding:24px}.cashier .panel{padding:28px}.cashier h1{font-size:24px}.cashier .primary{width:100%;padding:15px;margin-top:20px}.cashier .amount{font-size:40px;margin:30px 0}.cashier .field{margin-top:32px}.event{padding:18px 22px;border-top:1px solid var(--line);font-size:12px;line-height:1.8}.event pre{white-space:pre-wrap;color:#6f7887;font:12px/1.8 inherit;overflow-wrap:anywhere}.inline-note{font-size:11px;color:#969da7}.backlink{display:block;font-size:13px;margin:20px 0}.row-link{border:0;background:none;color:#98552e;padding:0;font-size:12px}.bad-error{padding:30px;line-height:1.8;color:#b44d46}.summary-line{display:flex;gap:25px;flex-wrap:wrap;padding:22px;font-size:13px}.summary-line strong{font-size:20px;display:block;margin-top:8px}.step-label{font-size:10px;color:#a1a6ae;text-transform:uppercase;letter-spacing:1px}.status-line{font-size:13px;color:#727c89;line-height:1.9}.group-links{display:flex;gap:12px;align-items:center}.group-links a{font-size:12px}.busy{pointer-events:none;opacity:.6}
@media(min-width:1500px){.content{padding-top:42px}.channel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.channel-info{gap:10px;flex-wrap:wrap}}
@media(max-width:800px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line);gap:16px}.sidebar .subtitle,.sidebar-foot{display:none}.nav{display:flex;gap:6px;overflow:auto}.nav button{padding:10px 14px;font-size:12px}.topbar{height:60px;padding:0 20px}.content{padding:25px 20px}.heading h1{font-size:23px}.heading{align-items:flex-start}.stats{gap:9px}.stat{padding:17px 13px}.stat strong{font-size:23px}.stat label{font-size:11px}.stat small{font-size:10px}.channel-grid{gap:12px}.channel{padding:18px}.channel h3{font-size:14px}.channel-logo{width:34px;height:34px}.channel-info{gap:12px;flex-wrap:wrap}.crumb{display:none}.user{width:100%;justify-content:flex-end}.form-grid{grid-template-columns:1fr}.form .wide{grid-column:auto}th,td{padding:15px}.env{font-size:10px}.summary-line{gap:20px}.heading>.primary{font-size:12px;padding:9px 10px}}
@media(max-width:390px){.channel-grid{grid-template-columns:1fr}.content{padding:20px 14px}.stats{grid-template-columns:1fr}.stat strong{display:inline-block;margin:8px 10px;font-size:24px}.stat small{display:block}.login-card{padding:28px}.heading{gap:10px}.nav span{margin-right:6px}}
.tabs{min-width:0;max-width:100%;overflow-x:auto}.tabs button{flex:0 0 auto}.mono{overflow-wrap:anywhere}dialog{overscroll-behavior:contain}dialog .dialog-actions{position:sticky;bottom:-28px;background:#fff;padding:14px 0;margin-top:10px}.form input[type=checkbox]{width:auto;flex:0 0 auto}.channel-check span{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){.layout{grid-template-columns:minmax(0,1fr)}.form input,.form select{font-size:16px}dialog{max-width:94vw;margin:auto;padding:22px}dialog .dialog-actions{bottom:-22px}.toolbar{max-width:100%;flex-wrap:wrap}.toolbar select{max-width:100%}}

.portal-links{display:grid;gap:12px}.portal-links a{text-decoration:none;text-align:center;display:block}.login-card{min-width:0}.login-card .backlink{text-align:center}

.form-error{border:1px solid #efb5ae;background:#fff0ed;color:#a5372d;padding:12px 14px;border-radius:8px;margin:12px 0;line-height:1.7;font-size:13px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid div{min-width:0;overflow-wrap:anywhere}.detail-grid small{display:block;color:#8c919d;margin-bottom:5px}@media(max-width:600px){.detail-grid{grid-template-columns:1fr}}
