:root{--brand-950:#0c2d20;--brand-900:#123c2b;--brand-800:#14583a;--brand-700:#16774b;--brand-600:#1f8f5b;--brand-100:#dff3e8;--brand-50:#f0f9f4;--ink-900:#17211b;--ink-700:#425149;--ink-500:#748078;--line:#dfe8e2;--canvas:#f4f7f5;--surface:#fff;--shadow-sm:0 5px 18px #123c2b0e;--shadow-md:0 16px 40px #123c2b17}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink-900);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}button,input,textarea,select{font:inherit}::selection{color:#fff;background:var(--brand-700)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c7d7cd;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#9db9a8}.app-shell{background:var(--canvas);min-height:100vh}.app-main{min-width:0;background:var(--canvas)!important}.app-content{min-height:calc(100vh - 126px);padding:28px 30px 40px}.page-container{background:0 0;width:100%;max-width:1480px;min-height:auto;margin:0 auto;padding:0}.page-heading{margin-bottom:24px}.page-eyebrow{color:var(--brand-700);letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.page-title{letter-spacing:-.025em;color:var(--ink-900)!important;margin:0!important;font-size:clamp(24px,2.2vw,32px)!important;font-weight:750!important}.page-subtitle{color:var(--ink-500);margin-top:7px;font-size:14px;display:block}.eco-card,.surface-card,.ant-card{border-color:var(--line);box-shadow:var(--shadow-sm);border-radius:16px}.eco-card{transition:border-color .2s,box-shadow .2s,transform .2s}.eco-card:hover{box-shadow:var(--shadow-md);border-color:#cddfd4;transform:translateY(-1px)}.ant-card .ant-card-head{border-bottom-color:#edf2ef;min-height:58px;padding-inline:22px}.ant-card .ant-card-head-title{color:#26382e;font-weight:700}.ant-card .ant-card-body{padding:22px}.eco-button,.ant-btn-primary{color:#fff;border-color:var(--brand-700);background:var(--brand-700);box-shadow:0 5px 14px #16774b2e}.eco-button:hover,.ant-btn-primary:not(:disabled):hover{transform:translateY(-1px);border-color:var(--brand-600)!important;background:var(--brand-600)!important}.ant-btn{border-radius:9px}.ant-btn-default:hover{color:var(--brand-700)!important;border-color:#8eb9a0!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number,.ant-picker{border-radius:9px!important}.ant-input-affix-wrapper-focused,.ant-input:focus{box-shadow:0 0 0 3px #16774b1a!important}.ant-table-wrapper .ant-table{border-radius:12px;overflow:hidden}.ant-table-wrapper .ant-table-thead>tr>th{letter-spacing:.02em;font-size:12px;font-weight:700}.ant-table-wrapper .ant-table-tbody>tr>td{border-bottom-color:#edf2ef}.ant-tabs .ant-tabs-tab{font-weight:600}.ant-tag{border-radius:6px}.ant-modal-content{border-radius:18px!important;padding:24px!important}.metric-card{height:100%;overflow:hidden}.metric-card .ant-card-body{padding:22px;position:relative}.metric-icon{width:44px;height:44px;color:var(--brand-700);background:var(--brand-50);border-radius:12px;place-items:center;font-size:20px;display:grid}.metric-label{color:var(--ink-500);margin:16px 0 3px;font-size:13px;font-weight:600}.metric-value{color:var(--ink-900);letter-spacing:-.03em;font-size:30px;font-weight:750;line-height:1.2}.metric-note{color:#879189;margin-top:8px;font-size:12px}.brand-mark{color:#ddf8e8;background:linear-gradient(145deg,#24965f,#12623e);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:18px;display:grid;box-shadow:inset 0 1px #ffffff38,0 8px 20px #00000029}.auth-page{background:#f7faf8;grid-template-columns:minmax(340px,.9fr) minmax(480px,1.1fr);min-height:100vh;display:grid;position:relative;overflow:hidden}.auth-brand{color:#fff;background:radial-gradient(circle at 18% 12%,#6fdc9d38,#0000 29%),radial-gradient(circle at 85% 82%,#2e9a603b,#0000 32%),linear-gradient(145deg,#0b3021 0%,#124e33 52%,#0d3b29 100%);flex-direction:column;justify-content:space-between;min-height:100vh;padding:72px clamp(42px,6vw,88px);display:flex;position:relative}.auth-brand:after{content:"";border:1px solid #ffffff17;border-radius:50%;width:260px;height:260px;position:absolute;bottom:5%;right:-80px;box-shadow:0 0 0 55px #ffffff06,0 0 0 110px #ffffff05}.auth-brand-logo{z-index:1;align-items:center;gap:13px;font-size:18px;font-weight:750;display:flex;position:relative}.auth-brand-copy{z-index:1;max-width:520px;position:relative}.auth-brand-copy h1{letter-spacing:-.04em;margin:0 0 20px;font-size:clamp(34px,4vw,56px);line-height:1.16}.auth-brand-copy p{color:#ecfff4b8;margin:0;font-size:16px;line-height:1.8}.auth-points{z-index:1;color:#ebfff3ad;gap:20px;font-size:12px;display:flex;position:relative}.auth-main{place-items:center;min-height:100vh;padding:48px 32px;display:grid;overflow-y:auto}.auth-panel{width:min(100%,460px)}.auth-heading{margin-bottom:28px}.auth-heading h2{color:var(--ink-900);letter-spacing:-.03em;margin:0 0 8px;font-size:30px}.auth-heading p{color:var(--ink-500);margin:0}.auth-card{border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:18px}.auth-card .ant-card-body{padding:30px}.site-footer{color:#78867e;text-align:center;background:#ffffff8f;border-top:1px solid #e1e9e4;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;min-height:58px;padding:17px 30px;font-size:12px;line-height:1.7;display:flex}.site-footer a{color:#35664d;text-underline-offset:3px;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--brand-700);text-decoration:underline}.site-footer-compact{background:0 0;border-top:0;min-height:auto;margin-top:22px;padding:0;font-size:12px}.site-footer-compact .site-footer-divider{display:none}.site-footer-compact>span:not(.site-footer-divider){width:100%}.login-composition{background:#f5f8f6;grid-template-columns:minmax(420px,1.08fr) minmax(430px,.92fr);min-height:100vh;display:grid}.login-wordmark-stage{background:radial-gradient(circle at 18% 14%,#3f745024,#0000 31%),radial-gradient(circle at 82% 86%,#123c2b1a,#0000 34%),linear-gradient(145deg,#e9f0eb 0%,#dce8df 100%);place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-wordmark-stage:before{z-index:2;content:"";pointer-events:none;border:1px solid #123c2b21;border-radius:3px;position:absolute;inset:22px}.login-calligraphy-art{z-index:1;object-fit:contain;mix-blend-mode:multiply;filter:contrast(1.06)saturate(.82);width:min(86%,560px);height:94vh;display:block;position:relative}.login-form-stage{background:radial-gradient(circle at 92% 12%,#16774b1a,#0000 30%),radial-gradient(circle at 10% 92%,#16774b0f,#0000 28%),#f0f5f1;border-left:4px solid #123c2b;place-items:center;min-height:100vh;padding:48px clamp(28px,5vw,72px);display:grid}.login-panel-simple{width:min(100%,420px)}.login-mobile-brand{display:none}.login-heading-simple{margin-bottom:22px}.login-heading-simple h2{color:#123c2b;font-size:28px}.login-card-simple{border-top:4px solid #16774b;overflow:hidden}.login-card-simple .ant-card-body{padding:30px}.login-register-link{border-top:1px solid #edf2ef;justify-content:center;gap:6px;margin-top:22px;padding-top:20px;font-size:13px;display:flex}.login-register-link a{font-weight:700}@media (width<=900px){.login-composition{grid-template-columns:1fr}.login-wordmark-stage{display:none}.login-form-stage{padding:38px 20px}.login-mobile-brand{color:#193326;justify-content:center;align-items:center;gap:12px;margin-bottom:34px;font-size:18px;font-weight:750;display:flex}.login-heading-simple{text-align:center}}.loading-spinner{border:3px solid #dbe8e0;border-top-color:var(--brand-700);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.success-message{color:#17633e;background:#edf9f2;border:1px solid #bfe2cd;border-radius:10px;padding:12px 16px}.error-message{color:#a2252c;background:#fff5f5;border:1px solid #f2c9cc;border-radius:10px;padding:12px 16px}.ai-generated-badge{color:#17633e;background:#e9f7ef;border-radius:99px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}@media (width<=900px){.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.auth-main{padding:36px 20px}.app-content{padding:22px 18px 32px}}@media (width<=600px){.app-content{padding:18px 12px 28px}.ant-card .ant-card-body{padding:18px}.auth-card .ant-card-body{padding:24px 20px}.site-footer{padding:15px 16px}.site-footer-divider{display:none}.site-footer>span{width:100%}}
