*{box-sizing:border-box}body{margin:0;background:#f3f5f5;color:#293b3b;font:14px 'Microsoft YaHei',system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select{outline-color:#009b87}button{cursor:pointer;border:1px solid #dce5e3;border-radius:5px;background:white;padding:9px 14px;color:inherit}button:hover{background:#e9f6f2}.primary{background:#009d88;color:white;border-color:#009d88}.primary:hover{background:#008774}.danger{color:#b8594c}.muted{color:#869391}aside{position:fixed;width:218px;background:#293332;color:#c7d3cf;height:100vh;padding:28px 15px}.logo{width:66px;height:66px;background:#e9fff5;color:#008e79;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font-size:25px;font-weight:700}.brand{text-align:center;color:#fff;font-size:18px;letter-spacing:2px}.subbrand{text-align:center;font-size:10px;letter-spacing:2px;margin:8px 0 28px;color:#819b91}nav button{width:100%;text-align:left;background:none;border:0;color:inherit;margin:4px 0;padding:13px 16px}nav button.active{background:#009d88;color:white}nav small{display:block;margin:24px 16px 8px;color:#718e82;letter-spacing:2px}.sidefoot{position:absolute;bottom:28px;left:30px;font-size:11px;color:#8aa094;line-height:2}main{margin-left:218px}.topbar{background:white;border-bottom:1px solid #e5ebe8;padding:17px 30px;display:flex;align-items:center;justify-content:space-between}.topbar .right{display:flex;align-items:center;gap:20px}.dot{display:inline-block;width:7px;height:7px;background:#1aac87;border-radius:50%;margin-right:6px}.content{padding:28px 30px;max-width:1700px;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.pagehead h1{font-size:25px;margin:0 0 8px;font-weight:600;letter-spacing:1px}.pagehead p{margin:0;color:#8b9893}.hero{background:#dcece4;border-radius:10px;padding:28px 32px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.hero h2{font-size:24px;font-weight:500;margin:8px 0 14px}.eyebrow{font-size:11px;letter-spacing:3px;color:#537768}.hero .art{font-size:68px;color:#638d79;letter-spacing:-15px;padding-right:35px;transform:rotate(-15deg)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric{background:white;border:1px solid #e5ebe7;border-radius:8px;padding:21px}.metric label{color:#82938b;font-size:13px}.metric strong{font-size:31px;font-weight:600;display:block;margin-top:15px;color:#008d79}.metric small{color:#9aaba1;font-size:12px;margin-left:8px;font-weight:400}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.panel{background:white;border:1px solid #e4ebe6;border-radius:8px;padding:22px;margin-bottom:20px;overflow:auto}.panel h3{margin:0 0 20px;font-size:16px;font-weight:600}.panel h3 span{float:right;color:#95a49c;font-weight:400;font-size:12px}.chart{height:205px;display:flex;align-items:flex-end;gap:7%;padding:15px 25px 28px;border-bottom:1px solid #e5ece7;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#f1f5f2 40px)}.bar{flex:1;background:#76c6b5;border-radius:4px 4px 0 0;position:relative;min-height:2px;text-align:center;color:#008b75}.bar b{position:absolute;top:-22px;left:0;right:0;font-size:12px;font-weight:400}.bar small{position:absolute;bottom:-24px;left:0;right:0;color:#87958e;font-size:11px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick button{text-align:left;padding:18px;background:#f7faf8}.quick b{display:block;margin-bottom:6px}.quick small{color:#92a299}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar input{min-width:240px}.toolbar .spacer{flex:1}input,select,textarea{border:1px solid #dae4dd;background:white;border-radius:4px;padding:10px;color:#354e42}textarea{min-height:110px;resize:vertical}.filters{padding:16px 20px;border-left:4px solid #00a28b;background:#f9fbfa;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.filters label{color:#84938b}.summary{padding:14px 18px;background:#edf8f3;color:#49836c;border:1px solid #d8ece1;border-radius:4px;margin-bottom:20px}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:13px}th{text-align:left;background:#f2f8f5;color:#6d897a;font-weight:500}th,td{padding:16px 13px;border-bottom:1px solid #edf1ee}td strong{font-weight:500}td small{display:block;color:#9aaba0;margin-top:5px}td button{padding:5px 9px;font-size:12px;margin-right:5px}.tag{display:inline-block;border-radius:4px;padding:4px 8px;font-size:11px;background:#e9f6f0;color:#22977b}.tag.orange{background:#fff3df;color:#b88639}.empty{text-align:center;padding:55px;color:#9aaba1}.footer{text-align:center;color:#9aaba1;font-size:11px;margin-top:22px}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:#204c40;color:white;padding:13vh 12%;position:relative;overflow:hidden}.login-art h1{font-size:43px;font-weight:400;line-height:1.6}.login-art p{color:#a5c4b7;line-height:2}.rings{width:350px;height:350px;border:1px solid #598571;border-radius:50%;position:absolute;bottom:-90px;right:-80px;box-shadow:0 0 0 45px #ffffff06,0 0 0 90px #ffffff04}.login-box{display:grid;place-items:center;padding:35px}.login-box form{max-width:360px;width:100%}.login-box h2{font-size:26px}.login-box input{width:100%;margin:8px 0 18px;padding:14px}.login-box button{width:100%;padding:14px}.login-box label{color:#6b8274}dialog{border:0;border-radius:10px;padding:25px;width:480px;max-width:95vw;box-shadow:0 20px 90px #153b4433}dialog::backdrop{background:#173d3655}dialog header{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:19px;margin:0 0 20px}dialog header button{border:0;font-size:22px}dialog label{display:block;margin:13px 0;color:#6e8377}dialog input,dialog select,dialog textarea{display:block;width:100%;margin-top:7px}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#254c40;color:white;padding:13px 25px;border-radius:8px;z-index:100;display:none}.mobile{max-width:600px;margin:0 auto;background:#f3f7f4;min-height:100vh;padding-bottom:80px}.mobile header{background:#214e40;color:white;padding:30px 24px}.mobile header h1{font-size:25px;font-weight:500}.mobile .body{padding:20px}.mobile .hero{padding:22px}.course-card{background:white;border-radius:9px;margin-bottom:13px;padding:20px;border:1px solid #e1ebe4}.course-card h3{margin:10px 0;font-weight:500}.course-card .row{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.mobile-nav{position:fixed;bottom:0;width:100%;max-width:600px;display:flex;background:#fff;border-top:1px solid #e0eae2;padding:8px}.mobile-nav button{flex:1;border:0;font-size:12px}.mobile-nav button.active{color:#009d88;background:#ebf7f0}.notice{border-bottom:1px solid #edf1ee;padding:14px 0;line-height:1.8}.notice strong{display:block}.notice p{margin:5px 0;color:#8a9b90}.pagination{color:#8c9d92;font-size:12px;padding-top:20px}@media(max-width:1050px){aside{width:180px}main{margin-left:180px}.content{padding:22px 18px}.metrics{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.hero .art{display:none}}@media(max-width:650px){aside{position:static;width:100%;height:auto;padding:14px}.logo,.subbrand,.sidefoot,nav small{display:none}.brand{text-align:left;font-size:16px}nav{display:flex;overflow:auto;margin-top:10px}nav button{width:auto;white-space:nowrap;padding:9px}.topbar{padding:12px}.topbar .right{gap:8px}.topbar .right span{display:none}main{margin:0}.content{padding:20px 12px}.pagehead h1{font-size:22px}.hero{padding:20px}.hero h2{font-size:20px}.metric{padding:15px}.metric strong{font-size:26px}.panel{padding:15px}.login{display:block}.login-art{padding:30px}.login-art h1{font-size:27px}.login-box{padding:30px}.rings{display:none}}
@media(min-width:651px) and (max-width:1050px){nav button{font-size:12px;padding:13px 8px;white-space:nowrap}}
aside{overflow-y:auto;scrollbar-width:thin}.sidefoot{position:static;margin:28px 15px 0}nav button{font-size:13px;padding:11px 10px}.venue-picker{font-size:12px;color:#6e8377;white-space:nowrap}.venue-picker select{margin-left:8px;max-width:240px}.venue-info{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.venue-info p{flex:1;color:#8a9b90}.multi-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.multi-options label{display:flex;gap:8px;margin:3px;padding:8px;border:1px solid #dce8df;border-radius:4px;align-items:center}.multi-options input{display:inline;width:auto;margin:0}.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.campaign-card h3{margin:20px 0 12px}.campaign-card p{line-height:1.8;overflow-wrap:anywhere}.campaign-price{font-size:28px;color:#009d88;margin-top:20px}.campaign-price small{font-size:12px;color:#879e8e}.member-venue{margin-bottom:20px}.wrap-cell{white-space:normal;min-width:180px}.mobile-nav button{padding:10px 3px;font-size:11px}.mobile .venue-picker{display:flex;align-items:center;justify-content:space-between}@media(max-width:700px){.campaign-grid{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:10px}.topbar .right{flex-wrap:wrap}.venue-picker select{max-width:180px}aside nav{max-height:160px}.sidefoot{display:none}}
