:root{--brand: #16775b;--brand-dark: #0f3d2e;--muted: #6b7a74;--line: #e8ecea}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#f4f6f5;-webkit-font-smoothing:antialiased}.brand-logo{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:0}.brand-logo-img{display:block;object-fit:contain}.brand-logo-fallback{display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.brand-logo--nav{height:26px;min-width:26px;max-width:72px}.brand-logo--nav .brand-logo-img{width:auto;height:auto;max-width:72px;max-height:26px}.brand-logo--nav .brand-logo-fallback{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#2f9a75,#16775b);font-size:13px}.app-sider-logo.is-collapsed .brand-logo--nav,.app-sider-logo.is-collapsed .brand-logo--nav .brand-logo-img{max-width:32px}.brand-logo--login{height:38px;min-width:38px;max-width:220px}.brand-logo--login .brand-logo-img{height:38px;width:auto;max-width:220px}.brand-logo--login .brand-logo-fallback{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#39a37c,#16775b);color:inherit}.login-page{min-height:100vh;display:flex;align-items:stretch;background:#0f3d2e}.login-brand{flex:1.15;position:relative;padding:64px;color:#eaf3ef;background:radial-gradient(circle at 20% 20%,#1c6b52,#0f3d2e 55%,#0a2b20);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-brand:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-180px;bottom:-180px}.login-brand-head{display:flex;align-items:center;gap:12px;margin-bottom:48px;min-width:0}.login-brand-name{font-size:17px;letter-spacing:2px;min-width:0}.login-brand h1{font-size:40px;line-height:1.25;margin:0 0 18px;font-weight:600;letter-spacing:1px}.login-brand p{color:#ffffffad;font-size:15px;max-width:460px;line-height:1.8}.login-marks{display:flex;gap:32px;margin-top:40px}.login-marks div strong{display:block;font-size:26px;color:#cfe6dc}.login-marks div span{font-size:13px;color:#ffffff8c}.login-panel{width:480px;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:56px 56px 40px}.login-panel .ant-typography{font-size:24px}.login-footer{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:12px;color:#fff6}.login-footer-item{display:inline-flex;align-items:center;line-height:1.6}.login-footer a{color:inherit;text-decoration:none;transition:color .18s}.login-footer a:hover{color:#ffffffc7}.login-footer .ant-image{cursor:pointer}.app-sider-logo{height:60px;flex-shrink:0;display:flex;align-items:center;gap:10px;padding:0 20px;color:#fff;font-weight:600;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.07);min-width:0;overflow:hidden}.app-sider-logo-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell{height:100vh;overflow:hidden}.app-sider{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-sider-menu{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.app-main{height:100vh;overflow:hidden;display:flex;flex-direction:column}.app-header{flex-shrink:0;height:60px;padding:0 24px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;z-index:10}.app-header .left{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500}.app-content{flex:1;min-height:0;padding:18px 22px 20px;overflow:hidden;display:flex;flex-direction:column}.app-content>div{flex:1;min-height:0}.page-fit{height:100%;display:flex;flex-direction:column;min-height:0}.page-fit>.page-title{flex-shrink:0}.page-filters{flex-shrink:0}.page-table{flex:1;min-height:0;display:flex;flex-direction:column}.page-table>.ant-card-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.page-table .ant-table-thead>tr>th{background:#fafbfa}.page-batch{flex-shrink:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:8px 14px;border-radius:10px;background:#f2f7f4;border:1px solid #d9e9de;font-size:13px}.page-batch-count{color:var(--brand);font-variant-numeric:tabular-nums}.batch-drawer-hint{margin:12px 0 14px;padding:9px 12px;border-radius:8px;background:#f2f7f4;border:1px solid #d9e9de;font-size:13px}.batch-drawer-selected{margin-top:4px;padding-top:12px;border-top:1px dashed #e6ebe8}.batch-drawer-list{max-height:180px;overflow-y:auto;display:flex;flex-wrap:wrap;gap:6px}.page-scroll{height:100%;overflow-y:auto;overflow-x:hidden;padding-right:2px}.page-fill-row{flex:1;min-height:0}.page-fill-row>.ant-col{height:100%;min-height:0}.page-side-card{height:100%;display:flex;flex-direction:column}.page-side-card>.ant-card-body{flex:1;min-height:0;overflow-y:auto}.app-form-drawer .ant-drawer-body{padding-top:20px}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-title h3{margin:0;font-size:19px;font-weight:600;color:#1f2d27}.page-title .desc{color:var(--muted);font-size:13px;margin-top:4px}.stat-card{background:#fff;border-radius:10px;padding:18px 20px;border:1px solid var(--line);height:100%}.stat-card .label{color:var(--muted);font-size:13px}.stat-card .value{font-size:26px;font-weight:600;margin-top:8px;color:#16281f;font-variant-numeric:tabular-nums}.stat-card .value small{font-size:14px;font-weight:400;color:var(--muted);margin-left:4px}.stat-card .foot{margin-top:8px;font-size:12px;color:#93a09a}.rte-wrap{border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.rte-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px;background:#fafbfa;border-bottom:1px solid #eef1ef}.rte-body{min-height:260px;max-height:520px;overflow:auto;padding:14px 16px;outline:none;line-height:1.85;font-size:14px}.rte-body:empty:before{content:attr(data-placeholder);color:#b3bcb8}.rte-body img{max-width:100%;border-radius:6px}.rte-body h2{font-size:17px;margin:18px 0 8px}.rte-body blockquote{border-left:3px solid #cfe0d8;margin:12px 0;padding:4px 12px;color:#5c6b64;background:#f7faf8}.policy-content{font-size:14.5px;line-height:1.95;color:#2b3a33}.policy-content h2{font-size:17px;margin:22px 0 10px}.policy-content img{max-width:100%}.policy-content blockquote{border-left:3px solid #cfe0d8;margin:12px 0;padding:6px 14px;color:#5c6b64;background:#f7faf8}.policy-item{cursor:pointer;border-radius:8px;padding:14px 16px;border:1px solid var(--line);background:#fff;transition:all .18s}.policy-item:hover{border-color:#b9d8cb;box-shadow:0 4px 14px #16775b14}.policy-item h4{margin:0 0 6px;font-size:15px;color:#1f2d27}.policy-item p{margin:0;color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.footer-row-over>td{background:#eaf3ef!important}.ant-table-wrapper .ant-table-tbody>tr>td{padding:11px 16px}a.link{color:var(--brand)}@media (max-width: 1024px){.brand-logo--login,.brand-logo--login .brand-logo-img{height:34px;max-width:168px}.brand-logo--login .brand-logo-fallback{width:34px;height:34px;border-radius:11px}}@media (max-width: 480px){.brand-logo--login,.brand-logo--login .brand-logo-img{height:30px;max-width:44vw}.brand-logo--login .brand-logo-fallback{width:30px;height:30px;border-radius:10px}}
