:root{--brand: #ff6a00;--brand-dark: #d94f00;--brand-soft: #fff3e8;--ink: #1f2328;--muted: #70757d;--line: #ece4dd}body{margin:0;background:#f6f7f8;color:var(--ink);font-family:Arial,Microsoft YaHei,sans-serif;overflow:hidden}html,body,#root{width:100%;height:100%;min-height:100%}*{box-sizing:border-box}img{max-width:100%;display:block}.ant-btn-primary{background:var(--brand);border-color:var(--brand);box-shadow:none}.ant-btn-primary:not(:disabled):hover{background:var(--brand-dark)!important;border-color:var(--brand-dark)!important}.admin-shell{height:100vh;min-height:0;overflow:auto;background:#f7f4f1}.admin-side{background:#fff!important;border-right:1px solid #f0dfcf;box-shadow:8px 0 24px #8b4b140f;overflow:auto}.admin-header{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;height:64px;padding:0 24px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.admin-header b{display:block;color:#2f261f;font-size:16px;line-height:1.35}.admin-header span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.admin-logo-link{width:100%;height:86px;display:flex;align-items:center;gap:12px;border:0;padding:12px 16px;background:linear-gradient(135deg,#ff6a00,#ff850f);cursor:pointer;text-align:left}.admin-logo-link img{width:48px;height:48px;object-fit:contain;border-radius:10px;background:#ffffff1f;box-shadow:0 8px 20px #672a002e}.admin-logo-link span{color:#fff;font-size:15px;font-weight:700;white-space:nowrap}.admin-side-menu{padding:10px 8px 18px}.admin-side-menu button{width:100%;height:44px;display:flex;align-items:center;gap:10px;border:0;border-radius:8px;background:transparent;color:#3a3029;font-weight:700;padding:0 12px;text-align:left}.admin-side-menu button.active{background:var(--brand-soft);color:var(--brand-dark)}.admin-user{height:42px;display:inline-flex;align-items:center;gap:8px;border:1px solid #f0dfcf;border-radius:999px;padding:3px 12px 3px 4px;background:#fffaf6;color:#3a3029;font-weight:700;cursor:pointer}.admin-content{padding:24px;background:#f7f4f1}.admin-page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-page-title h3{margin:0 0 4px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:14px}.admin-metrics .ant-card,.admin-panel,.admin-config-tabs>.ant-tabs-content-holder{border-color:#f0dfcf;border-radius:8px}.admin-filterbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;align-items:center}.admin-search{width:320px}.admin-thumb{object-fit:cover;border-radius:6px;background:var(--brand-soft)}.admin-form-actions{width:100%;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--line)}.login-page{min-height:100vh;display:grid;place-items:center;gap:14px;padding:18px;background:radial-gradient(circle at top,#ffe6cd 0,#fff 42%,#f7f7f7)}.simple-login-page{min-height:auto;padding:14px 8px;background:transparent;place-items:start center}.login-card{width:380px;border-radius:12px}.login-hero{width:min(420px,100%);padding:26px 22px 20px;border-radius:18px;background:linear-gradient(135deg,#ff7a13,#ff8f31);color:#fff;box-shadow:0 16px 36px #ff6a003d}.login-hero img{width:56px;height:56px;object-fit:contain;border-radius:14px;background:#ffffff1f}.login-hero h1{margin:14px 0 6px;font-size:26px;line-height:1.15}.login-hero p{margin:0;opacity:.92;font-size:14px}.student-login-card{width:min(420px,100%);border-radius:16px;border-color:#f3ddc6;box-shadow:0 16px 36px #7137081f}.simple-student-login-card{width:100%;max-width:720px;border:0;border-radius:12px;box-shadow:0 8px 24px #784c2814}.simple-student-login-card .ant-card-body{padding:18px}.student-login-card .ant-form-item-label>label{color:#3a3029;font-weight:700}.student-login-card .ant-input-affix-wrapper,.student-login-card .ant-input,.student-login-card .ant-btn{border-radius:10px}.student-login-card .ant-input-affix-wrapper,.student-login-card .ant-input{background:#fffaf5;border-color:#f1d8bf}.simple-login-form .ant-form-item{margin-bottom:14px}.simple-login-form .ant-input{height:52px;border-radius:8px;background:#fff;border-color:#e9e2dd;font-size:16px}.simple-login-form .code-form-item .ant-input{border-radius:8px 0 0 8px}.simple-login-form .code-form-item .ant-btn{height:52px;border-radius:0 8px 8px 0;color:var(--brand);border-color:var(--brand);background:#fff}.simple-login-form .ant-checkbox-wrapper{color:#5d6269;font-size:14px}.simple-login-form .ant-checkbox-wrapper a{color:var(--brand)}.login-submit{height:46px;font-weight:700}.simple-login-form .login-submit{height:52px;border-radius:8px;font-size:16px}.login-legal{display:flex;justify-content:center;gap:10px;padding-top:12px;color:var(--muted);font-size:12px}.login-legal a{color:var(--brand-dark);text-decoration:none}.policy-card{margin-bottom:12px}.policy-content{color:#444;line-height:1.75;font-size:14px}.policy-content h3{margin:18px 0 8px;color:#2d241c;font-size:16px;line-height:1.45}.policy-content p{margin:8px 0;text-align:justify}.policy-gap{height:4px}.h5-shell{height:100vh;height:100dvh;min-height:0;background:#f6f7f8;overflow:hidden;display:flex;flex-direction:column}.h5-header{position:relative;top:0;z-index:30;flex:0 0 56px;height:56px;padding:0 14px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-right:max(14px,env(safe-area-inset-right));padding-left:max(14px,env(safe-area-inset-left))}.h5-brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}.h5-brand img{width:36px;height:36px;object-fit:contain;flex:0 0 auto}.h5-brand b{display:block;font-size:15px;line-height:1.2}.h5-brand span{display:none}.h5-content{flex:1 1 auto;min-height:0;width:100%;max-width:none;margin:0;padding:12px 12px calc(142px + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.h5-carousel{margin-bottom:12px;border-radius:14px;overflow:hidden}.banner-slide{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:14px}.banner-slide img{width:100%;height:100%;object-fit:cover}.banner-copy{position:absolute;inset:auto 14px 14px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.28)}.banner-copy h2{margin:0 0 4px;font-size:22px}.banner-copy p{margin:0;font-size:13px;opacity:.94}.h5-toolbar{display:grid;gap:10px;margin-bottom:12px}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px}.category-tabs button{border:1px solid #ffd4ad;background:#fff;color:#6a3a12;border-radius:999px;padding:7px 12px;white-space:nowrap}.category-tabs button.active{background:var(--brand);color:#fff;border-color:var(--brand)}.course-list{display:grid;gap:10px;margin-top:10px}.course-card{border-radius:12px;overflow:hidden;border-color:#f2dfcc}.compact-course-card{background:#fff}.course-card-main{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:12px;color:inherit;text-decoration:none}.course-card-main img{width:118px;height:92px;object-fit:cover;border-radius:8px;background:var(--brand-soft)}.course-card-info{min-width:0;display:grid;gap:4px}.course-card-info .course-tag,.course-tag{width:fit-content;max-width:max-content;justify-self:start;line-height:1.3}.course-card-info b{color:#27221f;font-size:15px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.course-card-info small,.course-card-info em{color:var(--muted);font-size:12px;line-height:1.35;font-style:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.course-card-info small,.course-card-info em{-webkit-line-clamp:1}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.card-foot b{color:var(--brand-dark);font-size:17px;white-space:nowrap}.card-foot.compact{margin:0;padding:0 12px 12px 142px}.card-foot.compact b{font-size:16px}.course-price{display:inline-flex;align-items:baseline;gap:6px}.course-price span{color:var(--muted);font-size:11px}.detail-cover{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:12px;display:block;margin-bottom:12px}.detail-banner{aspect-ratio:3.6 / 1;max-height:220px;object-position:center 28%}.detail-card{border-radius:12px;margin-bottom:0}.rich-content{overflow:hidden}.rich-content img{width:100%!important;max-width:100%!important;height:auto!important;border-radius:10px;object-fit:cover}.fee-box{display:grid;gap:8px;padding:12px 14px;background:var(--brand-soft);border:1px solid #ffd8b6;border-radius:12px;margin:12px 0 8px}.fee-box b{display:block;color:var(--brand-dark);font-size:24px;line-height:1.15}.fee-box strong{display:block;font-size:15px;color:#332a22;font-weight:700}.fee-label{display:block;margin-bottom:4px;color:#9a6a45;font-size:12px}.fee-box.compact{grid-template-columns:1.1fr .9fr;align-items:center}.course-fee-note{margin:0 0 18px;padding:10px 12px;border-radius:10px;background:#fffaf6;border:1px solid #f2dfcc;color:#805738;font-size:12px;line-height:1.55}.course-action-bar{position:fixed;left:0;bottom:calc(60px + env(safe-area-inset-bottom));transform:none;width:100%;display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);z-index:101}.course-action-bar .reserve-btn{width:auto;min-width:132px;padding-left:24px;padding-right:24px}.share-sheet{display:grid;gap:12px}.h5-preview{max-width:390px;margin:0 auto;padding:12px;border-radius:12px;background:#fffaf5;max-height:72vh;overflow:auto}.simple-card,.list-card,.form-card,.profile-card{border-radius:12px}.form-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.consult-fab{position:fixed;right:16px;bottom:calc(142px + env(safe-area-inset-bottom));width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--brand);box-shadow:0 10px 24px #ff6a0052;z-index:102}.consult-panel{display:grid;gap:14px;justify-items:center}.qr-placeholder{width:190px;height:190px;border:1px dashed #ffb16b;background:#fff8f1;border-radius:12px;display:grid;place-items:center;color:var(--brand-dark)}.qr-placeholder img{width:100%;height:100%;object-fit:contain}.h5-tab{position:fixed;left:0;bottom:0;transform:none;width:100%;height:calc(60px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:100}.h5-tab a{display:grid;place-items:center;color:#565b61;text-decoration:none;font-weight:600}.h5-tab a.active{color:var(--brand)}@media(max-width:800px){.stats,.form-grid,.admin-metrics,.module-grid,.delivery-summary{grid-template-columns:1fr}.admin-shell{display:block}.admin-side{display:block;width:100%!important;max-width:none!important;min-width:0!important}.admin-header{height:auto;padding:10px 12px;display:grid}.admin-content{padding:14px}.admin-page-title,.admin-section-head,.admin-filterbar{display:grid}.admin-search{width:100%}.login-card{width:min(100%,420px)}.h5-content{padding:10px 10px calc(140px + env(safe-area-inset-bottom))}.h5-header{height:54px;padding:0 12px}.h5-brand img{width:34px;height:34px}.h5-brand b{font-size:14px}.h5-brand span{display:none}.h5-carousel,.banner-slide,.detail-cover,.course-card,.detail-card,.simple-card,.list-card,.form-card,.profile-card{border-radius:10px}.banner-copy h2{font-size:18px}.banner-copy p{font-size:12px}.course-card-main{grid-template-columns:104px 1fr;gap:10px;padding:10px}.course-card-main img{width:104px;height:82px}.card-foot.compact{padding:0 10px 10px 124px}.detail-banner{aspect-ratio:3.2 / 1;max-height:132px;object-position:center 24%}.fee-box.compact{grid-template-columns:1fr}.course-action-bar{grid-template-columns:auto auto;justify-content:space-between;padding:10px;bottom:calc(58px + env(safe-area-inset-bottom))}.course-action-bar .reserve-btn{min-width:128px}.form-two-cols{grid-template-columns:1fr;gap:0}.consult-fab{right:12px;bottom:calc(136px + env(safe-area-inset-bottom));width:46px;height:46px}.h5-tab{height:calc(58px + env(safe-area-inset-bottom))}}
