*{margin:0;padding:0;box-sizing:border-box}:root{--brand-primary: #1677ff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root,.app-layout{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;background:var(--brand-primary);padding:0 24px}.app-header .ant-typography{color:#ffffffdb}.app-brand-title{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:18px;margin:0;font-weight:500}.app-brand-logo{width:32px;height:32px;object-fit:contain;border-radius:6px;background:#ffffffeb}.app-sider{background:#fff;border-right:1px solid #f0f0f0}.app-content{padding:24px;background:#f5f5f5;min-height:calc(100vh - 64px)}.page-card{margin-bottom:24px}.page-card .ant-card-head{border-bottom:1px solid #f0f0f0}.stat-card{text-align:center}.stat-card .stat-value{font-size:32px;font-weight:600;line-height:1.2}.stat-card .stat-label{font-size:14px;color:#666;margin-top:8px}.placeholder-card{height:200px;display:flex;align-items:center;justify-content:center;background:#fafafa;border:1px dashed #d9d9d9}.placeholder-card .ant-typography{color:#999}.login-page,.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:linear-gradient(135deg,#0f172a08,#16a34a14 48%,#fff),#f8fafc}.login-card{width:min(420px,100%);border-radius:8px;border:1px solid rgba(148,163,184,.28);box-shadow:0 20px 60px #0f172a1a}.login-shell{width:min(920px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,420px);gap:32px;align-items:center}.login-copy{display:flex;flex-direction:column;gap:12px;min-width:0}.login-copy h1.ant-typography{margin:0;color:#102015;font-size:40px;line-height:1.12;font-weight:650}.login-card h2.ant-typography{margin:0 0 18px;color:#102015;font-size:24px;line-height:1.24}.login-eyebrow{display:inline-flex;width:fit-content;color:#0f7a3a;font-size:13px;font-weight:600}.login-muted{display:block;margin:0 0 20px;color:#64748b;font-size:14px;line-height:1.6}.login-card--account .login-eyebrow{margin-bottom:8px}.login-card--entry .ant-form-item,.login-card--account .ant-form-item{margin-bottom:18px}.login-page--brand-entry{position:relative;align-items:center;min-height:100vh;padding:32px;overflow:hidden;background:#f8fafc}.login-page--brand-entry .login-shell{width:min(960px,100%);grid-template-columns:minmax(0,410px) 360px;justify-content:center;gap:clamp(28px,4vw,42px);padding:54px 58px;border:1px solid rgba(226,232,240,.9);border-radius:26px;background:linear-gradient(135deg,#ffffffeb,#fbfdfffa),#fff;box-shadow:0 20px 54px #0f172a14}.login-page--brand-entry .login-copy{gap:0;width:min(410px,100%);justify-self:center;padding:0}.login-brand-logo{width:220px;max-width:100%;height:auto;margin:0 0 62px;object-fit:contain}.login-page--brand-entry .login-copy h1.ant-typography{margin:0 0 14px;color:#0f172a;font-size:34px;font-weight:700;line-height:1.2}.login-page--brand-entry .login-copy .login-muted{margin:0;color:#64748b;font-size:15px;font-weight:500;line-height:1.6}.login-page--brand-entry .login-card{width:min(360px,100%);justify-self:center;border:1px solid rgba(226,232,240,.9);border-radius:18px;background:#fffffff5;box-shadow:none}.login-page--brand-entry .login-card .ant-card-body{padding:28px}.login-page--brand-entry .login-card h2.ant-typography{margin:0 0 24px;color:#0f172a;font-size:24px;font-weight:700;line-height:1.2}.login-page--brand-entry .login-card--entry .ant-form-item{margin-bottom:16px}.login-page--brand-entry .login-card--entry .ant-form-item-label{padding-bottom:7px}.login-page--brand-entry .login-card--entry .ant-form-item-label>label{color:#0f172a;font-size:14px;font-weight:600}.login-page--brand-entry .login-card--entry .ant-form-item-control-input-content>.ant-input,.login-page--brand-entry .login-card--entry .ant-input-affix-wrapper{height:42px;min-height:42px;border-color:#d9e2ec;border-radius:10px;color:#0f172a;font-size:14px;box-shadow:none}.login-page--brand-entry .login-card--entry .ant-input-affix-wrapper{align-items:center}.login-page--brand-entry .login-card--entry .ant-input-affix-wrapper>input.ant-input{height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;line-height:20px;box-shadow:none}.login-page--brand-entry .login-card--entry .ant-input::placeholder,.login-page--brand-entry .login-card--entry .ant-input-affix-wrapper input::placeholder{color:#94a3b8}.login-page--brand-entry .login-card--entry .ant-form-item-control-input-content>.ant-input:hover,.login-page--brand-entry .login-card--entry .ant-input-affix-wrapper:hover,.login-page--brand-entry .login-card--entry .ant-form-item-control-input-content>.ant-input:focus,.login-page--brand-entry .login-card--entry .ant-input-affix-wrapper-focused{border-color:#2f6fed}.login-page--brand-entry .login-card--entry .ant-btn-primary{height:44px;margin-top:6px;border-radius:10px;background:#2f6bed;box-shadow:none;font-size:15px;font-weight:600}.login-page--brand-entry .login-card--entry .ant-form-item-explain-error{margin-top:6px;font-size:13px;line-height:1.45}.login-help-text{display:block;margin-top:13px;color:#64748b;font-size:13px;line-height:1.5;text-align:center}.auth-loading{gap:14px;color:#475569}@media(max-width:760px){.login-page,.auth-loading{padding:24px 16px}.login-shell{grid-template-columns:1fr;gap:20px}.login-copy h1.ant-typography{font-size:30px}.login-copy{text-align:left}.login-page--brand-entry{align-items:center;min-height:100vh;padding:24px 16px;background:#f8fafc}.login-page--brand-entry .login-shell{width:min(100%,540px);min-height:auto;grid-template-columns:1fr;gap:26px;padding:28px 18px;border-radius:22px}.login-page--brand-entry .login-copy{align-items:center;padding:10px 0 0;text-align:center}.login-brand-logo{width:min(210px,64vw);margin-bottom:42px}.login-page--brand-entry .login-copy h1.ant-typography{font-size:30px;margin-bottom:12px}.login-page--brand-entry .login-copy .login-muted{max-width:320px;font-size:16px;white-space:normal}.login-page--brand-entry .login-card{border-radius:18px}.login-page--brand-entry .login-card .ant-card-body{padding:24px 20px}.login-page--brand-entry .login-card h2.ant-typography{font-size:24px}}
